Archive for the 'FM/BAPI' Category

07
Out
08

ALV Grid com Input

Quando as ALV Grid que têm input fields não estão a retornar correctamente os valores preenchidos, é uma seca…

Pode ser que isto só acontece para ALV Grids criados com as funções REUSE*, mas como estas até são práticas…

Para não se apanhar barretes:

data: ref_grid TYPE REF TO cl_gui_alv_grid.

IF ref_grid IS INITIAL.
CALL FUNCTION ‘GET_GLOBALS_FROM_SLVC_FULLSCR’
IMPORTING
e_grid = ref_grid.
ENDIF.
IF NOT ref_grid IS INITIAL.
CALL METHOD ref_grid->check_changed_data .
ENDIF.

Wow… ou não… é tão básico que faz impressão…

05
Set
08

Alterar Ordens de Venda

Para alterar ordens de venda, é só usar a bapi BAPI_SALESORDER_CHANGE é fácil, barato e dá milhões…

13
Ago
08

Ler Ordens de Venda

Habitualmente para se aceder à informação das ordens de vendas recorre-se às seguintes tabelas:

  • VBAK – Cabeçalho;
  • VBAP – Itens;
  • VBEP – Divisões de Remessa;
  • VBPA – Parceiros;
  • VBKD – Dados Comerciais;
  • KNVV – Clientes;
  • MARA – Materiais;
  • VEKP – Embalamento (header);
  • VEPO – Embalagem (itens/conetúdo);

e outras que estão ligadas a estas.

E porque não usar uma BAPI que já dá quase tudo e mais alguma coisa (pelo menos à primeira vista..)???

Falo da BAPISORDER_GETDETAILEDLIST que apenas recebe como parametros de entrada uma lista de ordens de venda e uma estrutura preenchida com os dados que se pretendem vizualizar.

Porreiro, ?!

07
Ago
08

BAPI – Error Logs

Quando se trabalha com BAPIs, normalmente existe a necessidade de tratar os erros. Erros esses que normalmente vem nas seguintes estruturas:

  • BAPIRET1
  • BAPIRET2
  • BAPIRETURN
  • BDCMSCOLL

Se quisermos ter um log de erros de várias operações é bom ler estas estruturas e colocar o texto numa tabela pronta a ser exibida, por exemplo numa ALV.

Para uniformizar os retornos, podemos usar as seguintes FMs:

  • BALW_RET1_TO_RET2 – Map Structure BAPIRET1 to Structure
  • BALW_RETURN_TO_RET2 – Map Structure BAPIRETURN to Structure BAPIRET2
  • CONVERT_BDCMSGCOLL_TO_BAPIRET2 – Map BDCMSGCOLL to structure BAPIRET2

De seguida é necessário ler as mensagens, podendo-se usar a FM

  • MESSAGE_PREPARE – que recebe os dados da mensagem: tipo, ID, número e as várias variáveis e retorna o texto composto, pronto a ser colocado numa estrutura “boa” para ser apresentada no ecrã.

E pronts, agora é só apresentar, seja numa ALV, seja numa POPUP…

25
Jul
08

inforecords

Inforecords – são registos que relacionam uma série de dados relativamente a materiais, centros, organizações de compra, venda e os repespectivos preços.

Fisicamente estão nasa tabelas:

  • EINA: Registro info de compras – dados gerais
  • EINE: Reg.info para compras – dados de organização de compras

Algumas FM/BAPIS interessantes:

  • BAPI_INFORECORD_GETLIST: retorna todas as entradas para um determinado inforecord, material, grupo de materiais,…
  • ME_INITIALIZE_INFORECORD: inicializa as estruturas internas
  • ME_DIRECT_INPUT_INFORECORD: cria o inforecord
  • ME_POST_INFORECORD: torna-o efectivo na Base de dados

O inforecord já é criado, no entanto, a coisa não corre totalmente bem. Quando vou a vizualizar o Inforecord criado, o preço e os factores de conversão não aparecem correctamente. Aliás… não aparecem….

Se alguém tiver dicas, que as deixe nos comentários! OBG!!!

23
Jul
08

código interno de unidades no SAP

CONVERSION_EXIT_CUNIT_INPUT

CONVERSION_EXIT_CUNIT_OUTPUT

Estas duas funções permitem “traduzir” o código da unidade (de qualquer lingua) para a unidade interna do SAP.

No meu caso específico, descobri-as para contornar o erro BM302.

21
Jul
08

ler condições de preço

Como apontamento, fica a seguinte BAPI/FM:

RV_PRICE_PRINT_HEAD

Esta FM lê as condições  de uma determinada condição. Neste momento ainda só usei para documentos de vendas (SD)




Toca a comentar!!!!!

Maio 2024
S T Q Q S S D
 12345
6789101112
13141516171819
20212223242526
2728293031  

Blog Stats

  • 5.798 hits

RSS My Experiments with ABAP

  • Ocorreu um erro; é provável que o feed esteja indisponível. Tente novamente mais tarde.