Вы находитесь на странице: 1из 5

*&---------------------------------------------------------------------*

*& Report ZNT_ABAP001


*
*&
*
*&---------------------------------------------------------------------*
*&
*
*&
*
*&---------------------------------------------------------------------*
REPORT ZNT_ABAP001
DATA:
GV_NUMBER
GT_REQUISITION_ITEMS
GT_REQUISITION_ACCOUNT
GT_REQUISITION_SERVICES
GT_REQUISITION_SRV_VALUES
GT_RETURN
GT_RETURN1
GT_REQUISITION_ITEM_TEXT

.
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE

BANFN,
BAPIEBANC
BAPIEBKN
BAPIESLLC
BAPIESKLC
BAPIRETURN
BAPIRET2
BAPIEBANTX

OCCURS
OCCURS
OCCURS
OCCURS
OCCURS
OCCURS
OCCURS

0
0
0
0
0
0
0

WITH
WITH
WITH
WITH
WITH
WITH
WITH

HEADER
HEADER
HEADER
HEADER
HEADER
HEADER
HEADER

LINE,
LINE,
LINE,
LINE,
LINE,
LINE,
LINE.

START-OF-SELECTION.
PERFORM ITEM_10.
PERFORM ITEM_20.
PERFORM BAPI.
*&---------------------------------------------------------------------*
*&
Form item_10
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM ITEM_10.
**Item 10
GT_REQUISITION_ITEMS-DOC_TYPE = 'SR'.
GT_REQUISITION_ITEMS-PREQ_ITEM = '00010'.
GT_REQUISITION_ITEMS-ACCTASSCAT = 'K'.
GT_REQUISITION_ITEMS-ITEM_CAT = '9'.
GT_REQUISITION_ITEMS-PUR_GROUP = '104'.
GT_REQUISITION_ITEMS-PURCH_ORG = 'LTPO'.
GT_REQUISITION_ITEMS-PLANT
= 'LTCE'.
GT_REQUISITION_ITEMS-DES_VENDOR = 'TEST001'.
GT_REQUISITION_ITEMS-PREQ_NAME = 'BAPI_1'.
GT_REQUISITION_ITEMS-DELIV_DATE = SY-DATUM + 5.
GT_REQUISITION_ITEMS-SHORT_TEXT = 'Service 1'.
GT_REQUISITION_ITEMS-MAT_GRP
= '007'.
GT_REQUISITION_ITEMS-QUANTITY = '1.000'.
GT_REQUISITION_ITEMS-PCKG_NO
= '0000000001'.
GT_REQUISITION_ITEMS-GR_IND
= 'X'.
GT_REQUISITION_ITEMS-IR_IND
= 'X'.
GT_REQUISITION_ITEMS-FIXED_VEND = SPACE.
GT_REQUISITION_ITEMS-INFO_REC = SPACE.
GT_REQUISITION_ITEMS-UNIT
= 'EA'.
APPEND GT_REQUISITION_ITEMS. CLEAR GT_REQUISITION_ITEMS.
GT_REQUISITION_ACCOUNT-PREQ_ITEM = '00010'.
GT_REQUISITION_ACCOUNT-SERIAL_NO = '01'.
GT_REQUISITION_ACCOUNT-COST_CTR = '0000006600'.
GT_REQUISITION_ACCOUNT-G_L_ACCT = '0000001527'.
APPEND GT_REQUISITION_ACCOUNT. CLEAR GT_REQUISITION_ACCOUNT.
GT_REQUISITION_SERVICES-PCKG_NO
= '0000000001'.
GT_REQUISITION_SERVICES-LINE_NO
= '0000000001'.
GT_REQUISITION_SERVICES-EXT_LINE
= '0000000000'.
GT_REQUISITION_SERVICES-SUBPCKG_NO = '0000000002'.

GT_REQUISITION_SERVICES-FROM_LINE = '1'.
GT_REQUISITION_SERVICES-PLN_LINE
= '0000000001'.
APPEND GT_REQUISITION_SERVICES. CLEAR GT_REQUISITION_SERVICES.
GT_REQUISITION_SERVICES-PCKG_NO
= '0000000002'.
GT_REQUISITION_SERVICES-LINE_NO
= '0000000002'.
GT_REQUISITION_SERVICES-EXT_LINE
= '0000000010'.
GT_REQUISITION_SERVICES-SUBPCKG_NO = '0000000000'.
GT_REQUISITION_SERVICES-SERVICE
= '000000000000000151'.
GT_REQUISITION_SERVICES-QUANTITY
= '5.000'.
GT_REQUISITION_SERVICES-BASE_UOM
= 'EA'.
GT_REQUISITION_SERVICES-GR_PRICE
= '150.0000'.
APPEND GT_REQUISITION_SERVICES. CLEAR GT_REQUISITION_SERVICES.
GT_REQUISITION_SRV_VALUES-PCKG_NO
= '0000000002'.
GT_REQUISITION_SRV_VALUES-LINE_NO
= '0000000002'.
GT_REQUISITION_SRV_VALUES-SERNO_LINE = '01'.
GT_REQUISITION_SRV_VALUES-SERIAL_NO = '01'.
GT_REQUISITION_SRV_VALUES-PERCENTAGE = '100.0'.
APPEND GT_REQUISITION_SRV_VALUES. CLEAR GT_REQUISITION_SRV_VALUES.
GT_REQUISITION_ITEM_TEXT-PREQ_ITEM = '00010'.
GT_REQUISITION_ITEM_TEXT-TEXT_ID
= 'B01'.
IF SY-INDEX = 1.
GT_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
ELSE.
GT_REQUISITION_ITEM_TEXT-TEXT_FORM = ''.
ENDIF.
GT_REQUISITION_ITEM_TEXT-TEXT_LINE = 'Problems occur When you create purchase
requisition with services using BAPI. Purchase requisition for service with and
without'.
APPEND GT_REQUISITION_ITEM_TEXT. CLEAR GT_REQUISITION_ITEM_TEXT.
ENDFORM.
"item_10
*&---------------------------------------------------------------------*
*&
Form item_20
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM ITEM_20.
*item 20
GT_REQUISITION_ITEMS-DOC_TYPE
= 'SR'.
GT_REQUISITION_ITEMS-PREQ_ITEM = '00020'.
GT_REQUISITION_ITEMS-ACCTASSCAT = 'K'.
GT_REQUISITION_ITEMS-ITEM_CAT
= '9'.
GT_REQUISITION_ITEMS-PUR_GROUP = '112'.
GT_REQUISITION_ITEMS-PURCH_ORG = 'LTPO'.
GT_REQUISITION_ITEMS-PLANT
= 'LTCE'.
GT_REQUISITION_ITEMS-PREQ_NAME = 'BAPI_2'.
GT_REQUISITION_ITEMS-DELIV_DATE = SY-DATUM + 6.
GT_REQUISITION_ITEMS-SHORT_TEXT = 'Service 2'.
GT_REQUISITION_ITEMS-MAT_GRP
= '007'.
GT_REQUISITION_ITEMS-QUANTITY
= '1.000'.
GT_REQUISITION_ITEMS-PCKG_NO
= '0000000003'.
GT_REQUISITION_ITEMS-GR_IND
= 'X'.
GT_REQUISITION_ITEMS-IR_IND
= 'X'.
GT_REQUISITION_ITEMS-FIXED_VEND = SPACE.
GT_REQUISITION_ITEMS-INFO_REC
= SPACE.
GT_REQUISITION_ITEMS-UNIT
= 'EA'.
APPEND GT_REQUISITION_ITEMS. CLEAR GT_REQUISITION_ITEMS.
GT_REQUISITION_ACCOUNT-PREQ_ITEM = '00020'.
GT_REQUISITION_ACCOUNT-SERIAL_NO = '01'.
GT_REQUISITION_ACCOUNT-COST_CTR = '0000006620'.
GT_REQUISITION_ACCOUNT-G_L_ACCT = '0000001528'.

APPEND GT_REQUISITION_ACCOUNT. CLEAR GT_REQUISITION_ACCOUNT.


GT_REQUISITION_SERVICES-PCKG_NO
= '0000000003'.
GT_REQUISITION_SERVICES-LINE_NO
= '0000000003'.
GT_REQUISITION_SERVICES-EXT_LINE
= '0000000000'.
GT_REQUISITION_SERVICES-SUBPCKG_NO = '0000000004'.
GT_REQUISITION_SERVICES-FROM_LINE = '1'.
APPEND GT_REQUISITION_SERVICES. CLEAR GT_REQUISITION_SERVICES.
GT_REQUISITION_SERVICES-PCKG_NO
= '0000000004'.
GT_REQUISITION_SERVICES-LINE_NO
= '0000000004'.
GT_REQUISITION_SERVICES-EXT_LINE
= '0000000010'.
GT_REQUISITION_SERVICES-SUBPCKG_NO = '0000000000'.
GT_REQUISITION_SERVICES-SERVICE
= '000000000000000152'.
GT_REQUISITION_SERVICES-QUANTITY
= '10.000'.
GT_REQUISITION_SERVICES-BASE_UOM
= 'EA'.
GT_REQUISITION_SERVICES-GR_PRICE
= '90.0000'.
APPEND GT_REQUISITION_SERVICES. CLEAR GT_REQUISITION_SERVICES.
GT_REQUISITION_SRV_VALUES-PCKG_NO
= '0000000004'.
GT_REQUISITION_SRV_VALUES-LINE_NO
= '0000000004'.
GT_REQUISITION_SRV_VALUES-SERNO_LINE = '01'.
GT_REQUISITION_SRV_VALUES-SERIAL_NO = '01'.
GT_REQUISITION_SRV_VALUES-PERCENTAGE = '100.0'.
APPEND GT_REQUISITION_SRV_VALUES. CLEAR GT_REQUISITION_SRV_VALUES.
GT_REQUISITION_ITEM_TEXT-PREQ_ITEM
= '00020'.
GT_REQUISITION_ITEM_TEXT-TEXT_ID
= 'B01'.
IF SY-INDEX = 1.
GT_REQUISITION_ITEM_TEXT-TEXT_FORM = '*'.
ELSE.
GT_REQUISITION_ITEM_TEXT-TEXT_FORM = ''.
ENDIF.
GT_REQUISITION_ITEM_TEXT-TEXT_LINE = 'Problems occur When you create purchase
requisition with services using BAPI. Purchase requisition for service with and
without'.
APPEND GT_REQUISITION_ITEM_TEXT. CLEAR GT_REQUISITION_ITEM_TEXT.
ENDFORM.
"item_20
*&---------------------------------------------------------------------*
*&
Form bapi
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM BAPI.
*BAPI
CALL FUNCTION 'BAPI_REQUISITION_CREATE'
EXPORTING
*
SKIP_ITEMS_WITH_ERROR
=
AUTOMATIC_SOURCE
= 'X'
IMPORTING
NUMBER
= GV_NUMBER
TABLES
REQUISITION_ITEMS
= GT_REQUISITION_ITEMS
REQUISITION_ACCOUNT_ASSIGNMENT = GT_REQUISITION_ACCOUNT
REQUISITION_ITEM_TEXT
= GT_REQUISITION_ITEM_TEXT
*
REQUISITION_LIMITS
=
*
REQUISITION_CONTRACT_LIMITS
=
REQUISITION_SERVICES
= GT_REQUISITION_SERVICES
REQUISITION_SRV_ACCASS_VALUES = GT_REQUISITION_SRV_VALUES
RETURN
= GT_RETURN.
*
REQUISITION_SERVICES_TEXT
=
*
REQUISITION_ADDRDELIVERY
=
*
EXTENSIONIN
=

BREAK-POINT.
*ejecute commit
LOOP AT GT_RETURN WHERE TYPE = 'E' OR TYPE = 'A'.
EXIT.
ENDLOOP.
IF SY-SUBRC <> 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = GT_RETURN1.
WAIT UP TO 1 SECONDS.
DATA : HEADER TYPE THEAD.
DATA : IT_LINES TYPE TLINE OCCURS 0 WITH HEADER LINE .
HEADER-TDNAME = GV_NUMBER.
HEADER-TDSPRAS = SY-LANGU.
HEADER-TDID = 'B01'.
HEADER-TDOBJECT = 'EBANH'.
IT_LINES-TDFORMAT = '*'.
IT_LINES-TDLINE = 'Problems occur When you create purchase requisition with
services using BAPI .'.
APPEND IT_LINES.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT
= SY-MANDT
HEADER
= HEADER
INSERT
= 'X'
SAVEMODE_DIRECT = 'X'
TABLES
LINES
= IT_LINES[]
EXCEPTIONS
ID
= 1
LANGUAGE
= 2
NAME
= 3
OBJECT
= 4
OTHERS
= 5.
IF SY-SUBRC <> 0.
* Implement suitable error handling
ENDIF.
LOOP AT GT_RETURN.
.
WRITE: / SY-TABIX,
/ 'W_RETURN-TYPE:', GT_RETURN-TYPE,
/ 'W_RETURN-CODE:', GT_RETURN-CODE,
/ 'W_RETURN-MESSAGE:', GT_RETURN-MESSAGE,
/ 'W_RETURN-LOG_NO:', GT_RETURN-LOG_NO,
/ 'W_RETURN-LOG_MSG_NO:', GT_RETURN-LOG_MSG_NO,
/ 'W_RETURN-MESSAGE_V1:', GT_RETURN-MESSAGE_V1,
/ 'W_RETURN-MESSAGE_V2:', GT_RETURN-MESSAGE_V2,
/ 'W_RETURN-MESSAGE_V3:', GT_RETURN-MESSAGE_V3,
/ 'W_RETURN-MESSAGE_V4:', GT_RETURN-MESSAGE_V4.
ULINE.
ENDLOOP.
ENDIF.

ENDFORM.

"bapi

Вам также может понравиться