Difference between revisions of "SAP SD ABAP"
From SapWiki
(Created page with "==Leer flujo de documentos== <nowiki> FUNCTION Z_PEDIDO_FROM_FACTURA. *"---------------------------------------------------------------------- *"*'Interfase local *" IM...") |
|||
| Line 1: | Line 1: | ||
| − | ==Leer flujo de documentos== | + | ==Leer flujo de documentos FM RV_ORDER_FLOW_INFORMATION== |
<nowiki> | <nowiki> | ||
FUNCTION Z_PEDIDO_FROM_FACTURA. | FUNCTION Z_PEDIDO_FROM_FACTURA. | ||
| Line 58: | Line 58: | ||
ENDFUNCTION.</nowiki> | ENDFUNCTION.</nowiki> | ||
| + | |||
| + | ===Programa ribelf20=== | ||
| + | ===FM DISPLAY_DOCUMENT_FLOW_ALV=== | ||
Revision as of 19:56, 24 June 2026
Leer flujo de documentos FM RV_ORDER_FLOW_INFORMATION
FUNCTION Z_PEDIDO_FROM_FACTURA.
*"----------------------------------------------------------------------
*"*'Interfase local
*" IMPORTING
*" VALUE(FACTURA)
*" EXPORTING
*" VALUE(XVBAK) LIKE VBAK STRUCTURE VBAK
*" EXCEPTIONS
*" FACTURA_NO_EXISTE
*"----------------------------------------------------------------------
TABLES: VBRK,
VBAK,
TVFK.
DATA COMWA LIKE VBCO6 .
DATA VBFA_TAB LIKE VBFA OCCURS 5 WITH HEADER LINE.
CLEAR XVBAK.
SELECT SINGLE * FROM VBRK WHERE VBELN EQ FACTURA.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM TVFK WHERE FKART EQ VBRK-FKART.
COMWA-MANDT = SY-MANDT.
COMWA-VBELN = FACTURA.
CALL FUNCTION 'RV_ORDER_FLOW_INFORMATION'
EXPORTING
* AUFBEREITUNG = '2'
BELEGTYP = ' ' "pedido
COMWA = COMWA
* IMPORTING
* BELEGTYP_BACK =
TABLES
VBFA_TAB = VBFA_TAB
EXCEPTIONS
NO_VBFA = 1
NO_VBUK_FOUND = 2
OTHERS = 3.
IF TVFK-BLART EQ 'DA' AND TVFK-KALVG EQ 'Z'. "factura anticipada
READ TABLE VBFA_TAB WITH KEY VBELN = VBRK-VBELN.
SELECT SINGLE * FROM VBAK WHERE VBELN EQ VBFA_TAB-VBELV.
ELSEIF TVFK-BLART EQ 'DA' AND TVFK-KALVG EQ 'A'. "factura standard.
READ TABLE VBFA_TAB WITH KEY VBELN = VBRK-VBELN.
READ TABLE VBFA_TAB WITH KEY VBELN = VBFA_TAB-VBELV.
SELECT SINGLE * FROM VBAK WHERE VBELN EQ VBFA_TAB-VBELV.
ELSEIF TVFK-BLART EQ 'DD' OR TVFK-BLART EQ 'DF'. "nota credito
"nota debito
READ TABLE VBFA_TAB WITH KEY VBTYP_N = 'C'.
SELECT SINGLE * FROM VBAK WHERE VBELN EQ VBFA_TAB-VBELN.
ENDIF.
XVBAK = VBAK.
ELSE.
RAISE FACTURA_NO_EXISTE.
ENDIF.
ENDFUNCTION.