Ver Mensaje Individual
  #2  
Viejo 16/04/08, 22:25:55
Jose Villamil Jose Villamil is offline
Junior Member
 
Fecha de Ingreso: jul 2007
Mensajes: 3
Smile Ejemplo de Bapi_requisition_create

Hago envio de ejemplo de Bapi_requisition_create, probarla en IDES.

Saludos.

Jose Villamil.
Consultor ABAP.

REPORT ZPROGRAMMAYO29.

DATA:
NUMBER LIKE BAPIEBANC-PREQ_NO,
RETURN LIKE STANDARD TABLE OF BAPIRETURN WITH HEADER LINE,
TI_REQUISITION_ITEMS LIKE STANDARD TABLE OF BAPIEBANC WITH HEADER LINE,
TI_ACCOUNT_ASSIGNMENT LIKE STANDARD TABLE OF BAPIEBKN WITH HEADER LINE,
TI_REQUISITION_SERVICES LIKE STANDARD TABLE OF BAPIESLLC WITH HEADER LINE,
TI_REQUISITION_ITEM_TEXT LIKE STANDARD TABLE OF BAPIEBANTX WITH HEADER LINE,
TI_REQUISITION_LIMITS LIKE STANDARD TABLE OF BAPIESUHC WITH HEADER LINE,
TI_REQUISITION_CONTRACT_LIMITS LIKE STANDARD TABLE OF BAPIESUCC WITH HEADER LINE,
TI_REQUISITION_SRV_ACCASS_VALU LIKE STANDARD TABLE OF BAPIESKLC WITH HEADER LINE,
TI_REQUISITION_SERVICES_TEXT LIKE STANDARD TABLE OF BAPIESLLTX WITH HEADER LINE,
TI_REQUISITION_ADDRDELIVERY LIKE STANDARD TABLE OF BAPIMERQADDRDELIVERY WITH HEADER LINE,
TI_EXTENSIONIN LIKE STANDARD TABLE OF BAPIPAREX WITH HEADER LINE.


selection-screen begin of block BAPI with frame.
parameters: pa_bapi(080) type C default 'BAPI_REQUISITION_CREATE'.
selection-screen end of block BAPI.

START-OF-SELECTION.

TI_REQUISITION_ITEMS-PREQ_ITEM = '00010'.
TI_REQUISITION_ITEMS-DOC_TYPE = 'NB'.
TI_REQUISITION_ITEMS-PUR_GROUP = '000'.
TI_REQUISITION_ITEMS-SHORT_TEXT = 'SERVICIO UNO'.
TI_REQUISITION_ITEMS-PLANT = '1000'.
TI_REQUISITION_ITEMS-MAT_GRP = '007'.
TI_REQUISITION_ITEMS-QUANTITY = 1.
TI_REQUISITION_ITEMS-UNIT = 'UA'.
TI_REQUISITION_ITEMS-DELIV_DATE = '20080414'.
TI_REQUISITION_ITEMS-C_AMT_BAPI = '0'.
TI_REQUISITION_ITEMS-ITEM_CAT = '9'.
TI_REQUISITION_ITEMS-ACCTASSCAT = 'K'.
TI_REQUISITION_ITEMS-DISTRIB = ' '.
TI_REQUISITION_ITEMS-GR_IND = 'X'.
TI_REQUISITION_ITEMS-IR_IND = 'X'.
TI_REQUISITION_ITEMS-PCKG_NO = '0000000001'.

APPEND TI_REQUISITION_ITEMS.
CLEAR TI_REQUISITION_ITEMS.

TI_REQUISITION_ITEMS-PREQ_ITEM = '00020'.
TI_REQUISITION_ITEMS-DOC_TYPE = 'NB'.
TI_REQUISITION_ITEMS-PUR_GROUP = '000'.
TI_REQUISITION_ITEMS-SHORT_TEXT = 'SERVICIO DOS'.
TI_REQUISITION_ITEMS-PLANT = '1000'.
TI_REQUISITION_ITEMS-MAT_GRP = '007'.
TI_REQUISITION_ITEMS-QUANTITY = 1.
TI_REQUISITION_ITEMS-UNIT = 'UA'.
TI_REQUISITION_ITEMS-DELIV_DATE = '20080414'.
TI_REQUISITION_ITEMS-C_AMT_BAPI = '0'.
TI_REQUISITION_ITEMS-ITEM_CAT = '9'.
TI_REQUISITION_ITEMS-ACCTASSCAT = 'K'.
TI_REQUISITION_ITEMS-DISTRIB = ' '.
TI_REQUISITION_ITEMS-GR_IND = 'X'.
TI_REQUISITION_ITEMS-IR_IND = 'X'.
TI_REQUISITION_ITEMS-PCKG_NO = '0000000003'.

APPEND TI_REQUISITION_ITEMS.
CLEAR TI_REQUISITION_ITEMS.

TI_ACCOUNT_ASSIGNMENT-PREQ_ITEM = '00010'.
TI_ACCOUNT_ASSIGNMENT-SERIAL_NO = '01'.
TI_ACCOUNT_ASSIGNMENT-PREQ_QTY = 1.
TI_ACCOUNT_ASSIGNMENT-G_L_ACCT = '0000417000'.
TI_ACCOUNT_ASSIGNMENT-COST_CTR = '0000001000'. "'1000'.

APPEND TI_ACCOUNT_ASSIGNMENT.
CLEAR TI_ACCOUNT_ASSIGNMENT.

TI_ACCOUNT_ASSIGNMENT-PREQ_ITEM = '00020'.
TI_ACCOUNT_ASSIGNMENT-SERIAL_NO = '01'.
TI_ACCOUNT_ASSIGNMENT-PREQ_QTY = 1.
TI_ACCOUNT_ASSIGNMENT-G_L_ACCT = '0000417000'.
TI_ACCOUNT_ASSIGNMENT-COST_CTR = '0000001000'. "'1000'.

APPEND TI_ACCOUNT_ASSIGNMENT.
CLEAR TI_ACCOUNT_ASSIGNMENT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00010'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B01'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'TEXTO POSICION SERVICIO UNO'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00010'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B02'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'NOTA DE POSICION SERVICIO UNO'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00010'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B03'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'TEXTO DE SUMINISTRO SERVICIO UNO'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00010'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B04'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'TEXTO PEDIDO DE MATERIAL SERVICIO UNO'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00020'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B01'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'TEXTO POSICION SERVICIO DOS'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00020'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B01'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'TEXTO POSICION SERVICIO DOS'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00020'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B01'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'TEXTO POSICION SERVICIO DOS'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00020'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B01'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'TEXTO POSICION SERVICIO DOS'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00020'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B02'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'NOTA DE POSICION SERVICIO DOS'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00020'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B03'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'TEXTO DE SUMINISTRO SERVICIO DOS'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00020'.
TI_REQUISITION_ITEM_TEXT-TEXT_ID = 'B04'.
TI_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
TI_REQUISITION_ITEM_TEXT-TEXT_LINE = 'TEXTO PEDIDO DE MATERIAL SERVICIO DOS'.

APPEND TI_REQUISITION_ITEM_TEXT.
CLEAR TI_REQUISITION_ITEM_TEXT.

TI_REQUISITION_LIMITS-PCKG_NO = '0000000001'.
TI_REQUISITION_LIMITS-LIMIT = '800000'.
TI_REQUISITION_LIMITS-EXP_VALUE = '10000'.
TI_REQUISITION_LIMITS-NO_FRLIMIT = 'X'.

APPEND TI_REQUISITION_LIMITS.
CLEAR TI_REQUISITION_LIMITS.

TI_REQUISITION_LIMITS-PCKG_NO = '0000000003'.
TI_REQUISITION_LIMITS-LIMIT = '1000000'.
TI_REQUISITION_LIMITS-EXP_VALUE = '10000'.
TI_REQUISITION_LIMITS-NO_FRLIMIT = 'X'.

APPEND TI_REQUISITION_LIMITS.
CLEAR TI_REQUISITION_LIMITS.

TI_REQUISITION_SERVICES-PCKG_NO = '0000000001'.
TI_REQUISITION_SERVICES-LINE_NO = '0000000001'.
TI_REQUISITION_SERVICES-EXT_LINE = '0000000000'.
TI_REQUISITION_SERVICES-OUTL_IND = 'X'.
TI_REQUISITION_SERVICES-SUBPCKG_NO = '0000000002'.
TI_REQUISITION_SERVICES-FROM_LINE = '1'.


APPEND TI_REQUISITION_SERVICES.
CLEAR TI_REQUISITION_SERVICES.

TI_REQUISITION_SERVICES-PCKG_NO = '0000000002'.
TI_REQUISITION_SERVICES-LINE_NO = '0000000002'.
TI_REQUISITION_SERVICES-EXT_LINE = '0000000010'.
TI_REQUISITION_SERVICES-SUBPCKG_NO = '0000000000'.
TI_REQUISITION_SERVICES-SERVICE = '000000000000100000'.
TI_REQUISITION_SERVICES-QUANTITY = 5.
TI_REQUISITION_SERVICES-BASE_UOM = 'UA'.
TI_REQUISITION_SERVICES-UOM_ISO = 'PCE'.
TI_REQUISITION_SERVICES-PRICE_UNIT = 1.
TI_REQUISITION_SERVICES-MATL_GROUP = '007'.
TI_REQUISITION_SERVICES-GR_PRICE = '150000'.

APPEND TI_REQUISITION_SERVICES.
CLEAR TI_REQUISITION_SERVICES.

TI_REQUISITION_SERVICES-PCKG_NO = '0000000003'.
TI_REQUISITION_SERVICES-LINE_NO = '0000000002'.
TI_REQUISITION_SERVICES-EXT_LINE = '0000000000'.
TI_REQUISITION_SERVICES-OUTL_IND = 'X'.
TI_REQUISITION_SERVICES-SUBPCKG_NO = '0000000004'.
TI_REQUISITION_SERVICES-FROM_LINE = '1'.

APPEND TI_REQUISITION_SERVICES.
CLEAR TI_REQUISITION_SERVICES.

TI_REQUISITION_SERVICES-PCKG_NO = '0000000004'.
TI_REQUISITION_SERVICES-LINE_NO = '0000000003'.
TI_REQUISITION_SERVICES-EXT_LINE = '0000000010'.
TI_REQUISITION_SERVICES-SUBPCKG_NO = '0000000000'.
TI_REQUISITION_SERVICES-SERVICE = '000000000000100000'.
TI_REQUISITION_SERVICES-QUANTITY = 10.
TI_REQUISITION_SERVICES-BASE_UOM = 'UA'.
TI_REQUISITION_SERVICES-UOM_ISO = 'PCE'.
TI_REQUISITION_SERVICES-PRICE_UNIT = 1.
TI_REQUISITION_SERVICES-MATL_GROUP = '007'.
TI_REQUISITION_SERVICES-GR_PRICE = '90000'.

APPEND TI_REQUISITION_SERVICES.
CLEAR TI_REQUISITION_SERVICES.

TI_REQUISITION_SRV_ACCASS_VALU-PCKG_NO = '0000000001'.
TI_REQUISITION_SRV_ACCASS_VALU-LINE_NO = '0000000000'.
TI_REQUISITION_SRV_ACCASS_VALU-SERNO_LINE = '01'.
TI_REQUISITION_SRV_ACCASS_VALU-SERIAL_NO = '01'.
TI_REQUISITION_SRV_ACCASS_VALU-PERCENTAGE = '100'.

APPEND TI_REQUISITION_SRV_ACCASS_VALU.
CLEAR TI_REQUISITION_SRV_ACCASS_VALU.

TI_REQUISITION_SRV_ACCASS_VALU-PCKG_NO = '0000000002'.
TI_REQUISITION_SRV_ACCASS_VALU-LINE_NO = '0000000002'.
TI_REQUISITION_SRV_ACCASS_VALU-SERNO_LINE = '01'.
TI_REQUISITION_SRV_ACCASS_VALU-SERIAL_NO = '01'.
TI_REQUISITION_SRV_ACCASS_VALU-PERCENTAGE = '100.0'.

APPEND TI_REQUISITION_SRV_ACCASS_VALU.
CLEAR TI_REQUISITION_SRV_ACCASS_VALU.

TI_REQUISITION_SRV_ACCASS_VALU-PCKG_NO = '0000000003'.
TI_REQUISITION_SRV_ACCASS_VALU-LINE_NO = '0000000000'.
TI_REQUISITION_SRV_ACCASS_VALU-SERNO_LINE = '01'.
TI_REQUISITION_SRV_ACCASS_VALU-SERIAL_NO = '01'.
TI_REQUISITION_SRV_ACCASS_VALU-PERCENTAGE = '100.0'.

APPEND TI_REQUISITION_SRV_ACCASS_VALU.
CLEAR TI_REQUISITION_SRV_ACCASS_VALU.

TI_REQUISITION_SRV_ACCASS_VALU-PCKG_NO = '0000000004'.
TI_REQUISITION_SRV_ACCASS_VALU-LINE_NO = '0000000003'.
TI_REQUISITION_SRV_ACCASS_VALU-SERNO_LINE = '01'.
TI_REQUISITION_SRV_ACCASS_VALU-SERIAL_NO = '01'.
TI_REQUISITION_SRV_ACCASS_VALU-PERCENTAGE = '100.0'.

APPEND TI_REQUISITION_SRV_ACCASS_VALU.
CLEAR TI_REQUISITION_SRV_ACCASS_VALU.

CALL FUNCTION 'BAPI_REQUISITION_CREATE'
EXPORTING
SKIP_ITEMS_WITH_ERROR = ''
AUTOMATIC_SOURCE = 'X'
IMPORTING
NUMBER = NUMBER
TABLES
REQUISITION_ITEMS = TI_REQUISITION_ITEMS
REQUISITION_ACCOUNT_ASSIGNMENT = TI_ACCOUNT_ASSIGNMENT
REQUISITION_ITEM_TEXT = TI_REQUISITION_ITEM_TEXT
REQUISITION_LIMITS = TI_REQUISITION_LIMITS
REQUISITION_CONTRACT_LIMITS = TI_REQUISITION_CONTRACT_LIMITS
REQUISITION_SERVICES = TI_REQUISITION_SERVICES
REQUISITION_SRV_ACCASS_VALUES = TI_REQUISITION_SRV_ACCASS_VALU
RETURN = RETURN
REQUISITION_SERVICES_TEXT = TI_REQUISITION_SERVICES_TEXT
REQUISITION_ADDRDELIVERY = TI_REQUISITION_ADDRDELIVERY
EXTENSIONIN = TI_EXTENSIONIN
.

READ TABLE RETURN INDEX 1.

IF NOT RETURN IS INITIAL.

IF RETURN-TYPE NE 'S'.
ULINE (142).
LOOP AT RETURN WHERE TYPE NE 'W'.
WRITE:/ '|', ICON_CANCEL as icon, RETURN-TYPE, 20 RETURN-MESSAGE, 142 '|'.
ULINE (142).
ENDLOOP.

ENDIF.


ELSE.

ULINE (142).
WRITE:/ '|', ICON_CHECKED as icon, 7 'SOLICITUD DE PEDIDO: ', 30 NUMBER, 142 '|'.
ULINE (142).
ENDIF.

END-OF-SELECTION.
Responder Con Cita