2008 Mar 04 6:43 PM
Hi ,
I am new to BAPI. I am getting error in the return table of BAPI BAPI_PO_CREATE1 that "net price should be greater than 0 " .Until i call the BAPI the value is greater than zero , but when i call the BAPI the net_price(TYPE BAPICUREXT) is becoming automatically zero. I am not able to know why the the value net_price is changing at the item level.
So no purchase Order is created . Why the net_price is changing and how can i overcome this.
Hi ,
I am new to BAPI. I am getting error in the return table of BAPI BAPI_PO_CREATE1 that "net price should be greater than 0 " .Until i call the BAPI the value is greater than zero , but when i call the BAPI the net_price(TYPE BAPICUREXT) is becoming automatically zero. I am not able to know why the the value net_price is changing at the item level.
So no purchase Order is created . Why the net_price is changing and how can i overcome this.
2008 Mar 04 6:49 PM
Are you passing this...???
BAPIMEPOITEMX-NET_PRICE = 'X'.
Greetings,
Blag.
2008 Mar 04 6:55 PM
hi ,
yes i am passing BAPIMEPOITEMX-net_price = 'x'.
i am passing 'x' for every item level data.
here is my code .........
&----
*& Report ZBAPI_TRY
*&
&----
*&
*&
&----
REPORT ZBAPI_TRY.
***********************exporting parameters***********************
TYPES : BEGIN OF EXPORT_STRUCT ,
HEADER LEVEL DATA
COM_CODE TYPE BUKRS,
VENDOR TYPE LIFNR ,
LANGU(2) ,
PURCH_ORG TYPE EKORG,
PURCH_GROUP TYPE BKGRP,
DOC_DATE(10),
*item level data,
PO_ITEM TYPE EBELP,
MAT_NO TYPE MATNR,
SHORT_TEXT TYPE TXZ01,
QUANTITY TYPE BSTMG,
PLANT TYPE EWERK,
MATL_GROUP TYPE MATKL,
NET_PRICE TYPE BAPICUREXT,
END OF EXPORT_STRUCT.
*TABLE TYPES
TYPES : DAT_TYPE1 TYPE STANDARD TABLE OF EXPORT_STRUCT,
RET TYPE STANDARD TABLE OF BAPIRET2.
*INTERNAL TABLES
DATA : IT_UPLOAD TYPE DAT_TYPE1, "THIS TABLE GETS THE DATA FROM PRESEN.SERVER
IT_PO_HEADER TYPE BAPIMEPOHEADER, " BAPIMEPOHEADER, " PO_HEADER
IT_PO_HEADERX TYPE BAPIMEPOHEADERX ,"PO_HEADERX
IT_ITEM TYPE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE," PO_ITEM , "
IT_ITEMX TYPE BAPIMEPOITEMX OCCURS 0 WITH HEADER LINE, " PO_ITEMX , "
IT_RET TYPE RET. " BAPIRET2 . " OCCURS 0 WITH HEADER LINE.
*WORK AREAS
DATA : WA TYPE EXPORT_STRUCT,
WA_TEMP TYPE EXPORT_STRUCT,
WA_ITEM TYPE BAPIMEPOITEM,
WA_ITEMX TYPE BAPIMEPOITEMX.
*PARAMETRS
PARAMETERS : FILPATH(30) TYPE C.
FILPATH1(30) TYPE C.
DATA : F_PATH TYPE STRING,
F_PATH1 TYPE STRING,
X TYPE C VALUE 'X',
CNT TYPE I VALUE '1'.
DATA : TRUN LIKE BAPIFLAG-BAPIFLAG.
START-OF-SELECTION.
F_PATH = FILPATH.
*F_PATH1 = FILPATH1.
*GUI_UPLOAD FOR HEADER LEVEL DATA
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = F_PATH
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH =
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
tables
data_tab = IT_UPLOAD
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT IT_UPLOAD INTO WA.
WA_TEMP = WA.
********POPULATING THE HEADER DATA *********************
IF WA_TEMP-PURCH_ORG IS NOT INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = WA_TEMP-VENDOR
IMPORTING
OUTPUT = WA_TEMP-VENDOR.
*
IT_PO_HEADER-COMP_CODE = WA_TEMP-COM_CODE.
IT_PO_HEADER-doc_tyPE = 'NB'.
IT_PO_HEADER-LANGU = WA_TEMP-LANGU.
IT_PO_HEADER-VENDOR = WA_TEMP-VENDOR.
IT_PO_HEADER-PURCH_ORG = WA_TEMP-PURCH_ORG.
IT_PO_HEADER-PUR_GROUP = WA_TEMP-PURCH_GROUP.
*****MARK X *****
IT_PO_HEADERX-PO_NUMBER = X.
IT_PO_HEADERX-DOC_TYPE = X.
IT_PO_HEADERX-COMP_CODE = X.
IT_PO_HEADERX-LANGU = X.
IT_PO_HEADERX-VENDOR = X.
IT_PO_HEADERX-PURCH_ORG = X.
IT_PO_HEADERX-PUR_GROUP = X.
ENDIF.
*ENDLOOP.
*********populating item leve data ***********
*LOOP AT IT_UPLOAD_ITEM INTO WA_IT.
*WA_IT2 = WA_IT.
AT NEW PO_ITEM.
*C1 = C1 + 1.
IT_ITEM-PO_ITEM = WA_TEMP-PO_ITEM.
IT_ITEM-MATERIAL = WA_TEMP-MAT_NO.
IT_ITEM-SHORT_TEXT = WA_TEMP-SHORT_TEXT.
IT_ITEM-PLANT = WA_TEMP-PLANT.
IT_ITEM-QUANTITY = WA_TEMP-QUANTITY.
IT_ITEM-NET_PRICE = WA_TEMP-NET_PRICE.
APPEND IT_ITEM.
********MARK X************
IT_ITEMX-PO_ITEM = WA_TEMP-PO_ITEM.
IT_ITEMX-PO_ITEMX = 'X'.
IT_ITEMX-MATERIAL = 'X'.
IT_ITEMX-SHORT_TEXT = 'X'.
IT_ITEMX-PLANT = 'X'.
IT_ITEMX-QUANTITY = 'X'.
IT_ITEMX-NET_PRICE = 'X'.
APPEND IT_ITEMX.
ENDAT.
ENDLOOP.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = IT_PO_HEADER
POHEADERX = IT_PO_HEADERX
POADDRVENDOR =
TESTRUN = TRUN
MEMORY_UNCOMPLETE =
MEMORY_COMPLETE =
POEXPIMPHEADER =
POEXPIMPHEADERX =
VERSIONS =
NO_MESSAGING =
NO_MESSAGE_REQ =
NO_AUTHORITY =
NO_PRICE_FROM_PO =
IMPORTING
EXPPURCHASEORDER =
EXPHEADER =
EXPPOEXPIMPHEADER =
TABLES
RETURN = IT_RET
POITEM = IT_ITEM
POITEMX = IT_ITEMX.
POADDRDELIVERY =
POSCHEDULE =
POSCHEDULEX =
POACCOUNT =
POACCOUNTPROFITSEGMENT =
POACCOUNTX =
POCONDHEADER =
POCONDHEADERX =
POCOND =
POCONDX =
POLIMITS =
POCONTRACTLIMITS =
POSERVICES =
POSRVACCESSVALUES =
POSERVICESTEXT =
EXTENSIONIN =
EXTENSIONOUT =
POEXPIMPITEM =
POEXPIMPITEMX =
POTEXTHEADER =
POTEXTITEM =
ALLVERSIONS =
POPARTNER =
.
*
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
IMPORTING
RETURN =
*endat.
*CLEAR : IT_ITEM , IT_ITEMX.
*ENDLOOP.
WRITE : 'end'.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |