Simple BOM with sub-items (very very urgent)--1 item & 2 subitem
Hi all,
i am creating a BOM with sub-items using 'BAPI_MATERIAL_BOM_GROUP_CREATE'. while creating sub-item, it is taking only one subitem. but i am giving multiple sub-items per item.
i am giving a program where i am assigning 2 subitems to one item.
after tha bapi call, 1 subitem is creating.
i have tried so many times by clearing the work area & calling the bapi for each sub-item.but it is creating only one sub-item only.
i am giving an example of my report.plz correct it if i am wrong.it is veryt very urgent.
any idea will be highly appreaciated.
Regards
pabitra
REPORT ZTEST_CHIN message-id 01.
This code will create a material BoM for the material
MAINMATERIAL with the components COMPON1 and COMPON2.
Data Declaration
DATA:
it_bomgroup LIKE bapi1080_bgr_c OCCURS 0 WITH HEADER LINE,
it_variants LIKE bapi1080_bom_c OCCURS 0 WITH HEADER LINE,
it_items LIKE bapi1080_itm_c OCCURS 0 WITH HEADER LINE,
it_matrel LIKE bapi1080_mbm_c OCCURS 0 WITH HEADER LINE,
it_itemas LIKE bapi1080_rel_itm_bom_c OCCURS 0 WITH HEADER LINE,
it_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
it_subitems LIKE bapi1080_sui_c OCCURS 0 WITH HEADER LINE,
it_subitemas LIKE BAPI1080_REL_SUI_ITM_C OCCURS 0 WITH HEADER LINE.
Fill the data
Material BoM Group Header Data
CLEAR it_bomgroup.
it_bomgroup-bom_group_identification = 'BAPI_SMP_COL1'.
it_bomgroup-object_type = 'BGR'.
it_bomgroup-object_id = 'SIMPLE1'.
it_bomgroup-bom_usage = '1'. " YOU COULD CHANGE THE BOM USAGE TO YOUR
it_bomgroup-ltxt_lang = sy-langu.
it_bomgroup-technical_type = ' '.
it_bomgroup-bom_text = 'Simple BoM - FM'.
APPEND it_bomgroup.
Header Details of the different variants
CLEAR it_variants.
it_variants-bom_group_identification = 'BAPI_SMP_COL1'.
it_variants-object_type = 'BOM'.
it_variants-object_id = 'SIMPLE1'.
it_variants-alternative_bom = '01'.
it_variants-bom_status = '01'.
it_variants-base_qty = '1.000'.
it_variants-valid_from_date = sy-datum.
it_variants-function = 'NEW'.
APPEND it_variants.
Details of the materials of the different variants
CLEAR it_matrel.
it_matrel-bom_group_identification = 'BAPI_SMP_COL1'.
it_matrel-material = 'BAPIBOMFG1'.
it_matrel-bom_usage = '1'.
it_matrel-alternative_bom = '01'.
APPEND it_matrel.
Linking subitems to the corresponding variants
CLEAR it_subitemas.
it_subitemas-bom_group_identification = 'BAPI_SMP_COL1'.
it_subitemas-sub_object_type = 'SUI'.
it_subitemas-sub_object_id = 'SIM1'.
it_subitemas-super_object_type = 'ITM'.
it_subitemas-super_object_id = 'SIMPLE1'.
APPEND it_subitemas.
Linking items to the corresponding variants
CLEAR it_itemas.
it_itemas-bom_group_identification = 'BAPI_SMP_COL1'.
it_itemas-sub_object_type = 'ITM'.
it_itemas-sub_object_id = 'SIMPLE1'.
it_itemas-super_object_type = 'BOM'.
it_itemas-super_object_id = 'SIMPLE1'.
it_itemas-valid_from_date = sy-datum.
it_itemas-function = 'NEW'.
APPEND it_itemas.
Details of the items of the variants
CLEAR it_items.
it_items-bom_group_identification = 'BAPI_SMP_COL1'.
it_items-object_type = 'ITM'.
it_items-object_id = 'SIMPLE1'.
it_items-item_no = '0010'.
it_items-item_cat = 'L'.
it_items-component = 'BAPIBOMRW1'.
it_items-comp_qty = '2'.
it_items-valid_from_date = sy-datum.
APPEND it_items.
CLEAR it_subitems.
it_subitems-bom_group_identification = 'BAPI_SMP_COL1'.
it_subitems-object_type = 'SUI'.
it_subitems-object_id = 'SIM1'.
it_subitems-subitem_no = '0001'.
it_subitems-INSTALLATION_POINT = 'ab1'.
it_subitems-subitem_qty = '1'.
APPEND it_subitems.
CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
EXPORTING
all_error = 'X'
TABLES
bomgroup = it_bomgroup
variants = it_variants
items = it_items
materialrelations = it_matrel
itemassignments = it_itemas
subitems = it_subitems
subitemassignments = it_subitemas
return = it_return.
CLEAR it_subitems.
it_subitems-bom_group_identification = 'BAPI_SMP_COL1'.
it_subitems-object_type = 'SUI'.
it_subitems-object_id = 'SIM1'.
it_subitems-subitem_no = '0002'.
it_subitems-INSTALLATION_POINT = 'ab2'.
it_subitems-subitem_qty = '1'.
APPEND it_subitems.
CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
EXPORTING
all_error = 'X'
TABLES
bomgroup = it_bomgroup
variants = it_variants
items = it_items
materialrelations = it_matrel
itemassignments = it_itemas
subitems = it_subitems
subitemassignments = it_subitemas
return = it_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
LOOP AT it_return.
WRITE:/ it_return-type, it_return-id, it_return-number,
it_return-message.
ENDLOOP.
Hi rich,
Thanks. i will do the same.can u plz suggest me , where i am doing mistake in my coding to create sub-items in a BOM?
Thanks & Regards
pabi
Similar Messages
-
I want to display the bill of material within its component's sub boms as well in one page as a view of hiearchy..How to do so?
Can anyone explain?Hi,
Check whether T code CS11 helps you.
Nikhil -
Purchase Order With Sub Item Component List for BOM material..??
Hi MM Experts,
We want to create PO with a component list that should be appears under the main item.
The component list is a mterial BOM.
Ex:- bom MATERIAL - CATALOG1 (Non Stock Materials)
COMPONENT 1 :-ABCD
COMPONENT 2 :- XYZ.
WHEN I ENTER THE BOM MATERIAL:- CATALOG1 IN /ME21N . Higher-Level Item-
Automatically botom line should be appear component 1 , 2 as a Sub Item.
how to configur this issue..?? Its a standard Ponot Subcontract
Thanks,
NAR.Hi!
If you have correctly maintained the BOM in CS01, make sure that in ME21N you enter "L" as the item category, and then, in the field "material", enter the finished product (the header material in your BOM). Then, enter all other required fields.
When all mandatory data has been completed in ME21N, go to the "Material Data" tab. Here you will see an icon named "Components". If you click this icon, the materials in your BOM will be listed here.
So, please, do not expect the BOM to be displayed with mother and daugther segments in the item overview of ME21N. Instead, consider that you will only be able to see the components if you click the "Components" icon under the "Material Data" tab at item detail level.
I hope this helps!
Esther. -
Impact on upgradation with tables TTAXI & TTXY Very urgent
Kindly can any one let me know the Impact on upgradation with tables TTAXI & TTXY Very urgent.
Thanking you in advance
Regards
VeenaHi,
The problem is that you controls are not beeing freed. You have not passed the lifetime parameter a value when you create the container and text editor. This will set the lifetime to lifetime_imode which means the control will remain active either until the internal session (your transaction) ends or you explicitly call the free method for each control.
Add the lifetime parameter to the call and set the lifetime to cl_gui_control=>lifetime_dynpro.
From
De Wildt -
Hi All,
We have provided the partner details like AS2ID,URL,Port and certificates.
They ask me to do some sample testing whether files are reaching to partner system or not.
I done all the required steps in IR and ID...
1. Can anyone suggest me how to do the testing
2. Where to monitor for AS2 messges?
3. How to see the our output files whether we are sending the correct files or not?
4. Outbound -- How we will come to know whether file reached to partner or not?If we set sync Mdn.. where we can see the MDN..?
5. Inbound-- How we will come to know whether file has sent to us or not?
Someone pls explain step by step how to do the testing using AS2 adapters for both Outbound and Inbound.
Its Very Very urgent.
Waiting for your replys..
Regards
Deepthi.Hi Deepthi,
1. Can anyone suggest me how to do the testing
A) Like message monitoring in RWB we have a particular link to monitor the message through differnt seeburger adapter.
I dont remember the link right now.
2. Where to monitor for AS2 messges?
A) Through the same link.
3. How to see the our output files whether we are sending the correct files or not?
A) u mean to check the output file data or strucutre if strucutre is not proper then u will get the error message and ur mapping fails.
4. Outbound -- How we will come to know whether file reached to partner or not?If we set sync Mdn.. where we can see the MDN..?
I have no idea.
5. Inbound-- How we will come to know whether file has sent to us or not?
File is sent over wan so when it will be pickd up by XI.
Thnx
Chirag -
Foreign curr reval for open items - questions - very urgent
Hi all,
Can anyone explain me the account determination for open item exchange rate difference postings?
1. What are the accounts meant for under tab Exchange rate difference realized (Loss, Gain)
2. What are the account meant for under tab valuation (val loss 1, val gain 1 and Bal sheet adj 1)
3. Accounts under translation tab (Loss, Bal sheet adj loss, Gain, and Bal sheet adj gain)
Also,
When I run F.05 for open item reval
1. Do I need to run customer and vendor open items as well by selecting the customers and vendors and checking the Valuate customer open items and Valuate vendor open items? Even though I have customer and vendor recon accounts in my g/l accounts selection and checked the Valuate g/l open items box
2. We check Reverse postings with reversal period as next period (for example if reval is done for period 3 then reversal period is 4), why do we need to reverse the postings.
Your help in this regard is highly appreciated and rewarded with points.
Thanks in advance,
KumarDear Kumar,
About the acct determination for transaction KDF: open item exchange rate diff:
When you revaluate i.e. run the F.05 transaction for open items any loss is posted to the Val.loss 1 and any gain is posted to the Val.loss 2 account with its offset credit or debit to the Bal.sheet adj.1 account.
Now this is a provisional recognition of the FX difference. So long as the items remains open it will be revaluated in every period and a posting will be made. Now when you finally clear this open item e.g. pay the vendor or receive pymt from customer, the system will calculate the FX gain/loss at that time once again. This is the Exchange rate gain/loss realized. Thus, the accounts used will be those under tab Exchange rate difference realized (Loss, Gain)
The Accounts under translation tab is used in the scenario where you are maintaining more than once local currency e.g. 2nd local currency as 30. In this case you would want to translate your FX valuation to this 2nd local currency.
Regarding F.05 transaction:
1. Yes you will need to check the customer/vendor and GL open items to valuate them all. Since the customer and vendor reconciliation account are tied up to AR and AP, the program does not recognize them as a pure GL account.
2. You need reversal so that tracking of your fx valuation is easy. E.g:
You have open item in EUR and your local curr is USD. Lets us say ex rate is USD:EUR is 1:1.50 and open payable item is EUR 100
Open item in EUR-----Open item in USD--
Diff
Period 1: -
100--150--
0
Period 2: fx rate 1:1.60--100160--
loss of $10
Period 3. fx rate 1:1.30--100130--
gain of $30 over period 2.
If you don't choose the reversal postings, the system will record both the loss of 10 and the gain of 30 netting to 20. However, if you choose the reversal posting, the system will reverse the $10 loss in period 3 and just take the revaluation based on the period 1's rate i.e. difference btw 150 and 130 USD i.e. $20.
I hope this explains you the concept. Thanks,
Vishal. -
Error during GR(very very urgent)
Hi all,
i am using a developed program for GR.i used this program before.there was no error.but now i am facing error like
<b>PO ordered quqntity exceeded by 18,000 EA.</b>.i am using <b>BAPI_GOODSMVT_CREATE</b> for goods transfer.
In the selection screen, i am putting
PO number- PO1
material number- MAT
GR quantity- 18,000
delivery order-111
i want to receive the material MAT of quantity 18,000 from that PO.initially i have ordered PO quntity as 1 lakh. Till now i have received 42,000 materials,now i try to receive 18,000 materials.but it is showing this type of error.
This error is fired from the return parameter of that BAPI only.error having message class-M7 & error no-022
is comming.
i am giving my coding below.plz suggest where is the problem.it is very very urgent.recently my company has added some patches to update the SAP.is this the cause for that error.plz suggest.
any idea will be highly appreaciated.
Regards
REPORT zmui001
LINE-SIZE 140
LINE-COUNT 65
NO STANDARD PAGE HEADING.
*-- DATA DECLARATION--
*-- tables
TABLES : ekpo,
ekbe,
marv.
*--Includes
INCLUDE : <icon>. " Include for Icons
*-- Types
TYPES : BEGIN OF t_mseg,
ebeln LIKE ekko-ebeln,
name1 LIKE lfa1-name1,
lifnr LIKE lfa1-lifnr,
eknam LIKE t024-eknam,
mblnr LIKE mkpf-mblnr,
matnr LIKE ekpo-matnr,
maktx LIKE makt-maktx,
lgort LIKE mseg-lgort,
charg LIKE mseg-charg, "chg: 10/17/2005
menge LIKE mseg-menge,
budat LIKE mkpf-budat,
bldat LIKE mkpf-bldat, " chg : 08/18/2003
xblnr LIKE mkpf-xblnr,
END OF t_mseg.
DATA: BEGIN OF t_ekbe,
ebeln LIKE ekbe-ebeln,
ebelp LIKE ekbe-ebelp,
bwart LIKE ekbe-bwart,
matnr LIKE ekbe-matnr,
menge LIKE ekbe-menge,
END OF t_ekbe,
BEGIN OF t_ekpo,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
menge LIKE ekpo-menge,
END OF t_ekpo.
TYPES : BEGIN OF t_options.
INCLUDE STRUCTURE itcpo.
TYPES : END OF t_options.
*--Internal tables
DATA: BEGIN OF i_item OCCURS 50. "Create Material Document Item
INCLUDE STRUCTURE bapi2017_gm_item_create.
DATA: END OF i_item .
DATA: BEGIN OF i_return OCCURS 20. "Return parameter
INCLUDE STRUCTURE bapiret2.
DATA: END OF i_return.
DATA: BEGIN OF i_part OCCURS 0, " Internal table for split data
part(20),
END OF i_part.
DATA: BEGIN OF i_return1 OCCURS 20. "Return parameter
INCLUDE STRUCTURE bapiret1.
DATA: END OF i_return1.
*-- Work areas
DATA: BEGIN OF wa_header . "Material Document Header Data
INCLUDE STRUCTURE bapi2017_gm_head_01.
DATA: END OF wa_header .
DATA: BEGIN OF wa_return . "Output Structure
INCLUDE STRUCTURE bapi2017_gm_head_ret.
DATA: END OF wa_return .
*-- Work areas
DATA: wa_mseg TYPE t_mseg,
wa_ekbe LIKE t_ekbe,
wa_ekpo LIKE t_ekpo,
wa_options TYPE t_options,
i_ekbe LIKE STANDARD TABLE OF t_ekbe,
i_ekbe2 LIKE STANDARD TABLE OF t_ekbe,
i_ekpo LIKE STANDARD TABLE OF t_ekpo.
*---Variables
DATA: v_first, " variable to get first digit
v_set TYPE c,
v_found TYPE p,
v_menge TYPE p,
v_ebeln LIKE ekko-ebeln,
v_lifnr LIKE ekko-lifnr,
v_belnr LIKE ekbe-belnr,
v_postdate LIKE mkpf-budat,
v_bukrs LIKE marv-bukrs,
v_datum LIKE sy-datum,
v_lgort LIKE mard-lgort, " Stge. location
v_bwart LIKE mseg-bwart, " Movement type
v_infnr LIKE eina-infnr, " Info record no.
v_ltsnr LIKE eina-ltsnr.
*---Constants
CONSTANTS: c_comma TYPE c VALUE ',', " For splitting data at commas
c_01(2) TYPE c VALUE '01', " For movement code in Bapi
c_b TYPE c VALUE 'B', " For mvt. Indicator in Bapi
c_save(4) TYPE c VALUE 'SAVE', " For button text
c_clear(5) TYPE c VALUE 'CLEAR', " For clear button
c_mvmt(4) TYPE c VALUE 'MVMT',
c_ok(2) TYPE c VALUE 'OK',
c_error(5) TYPE c VALUE 'Error'.
*--SELECTION SCREEN DESIGN--
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS: p_bar(75) , " Scanned data from barcode
p_ebeln LIKE ekko-ebeln, " PO number
p_matnr LIKE ekpo-matnr, " Material number
p_menge LIKE ekpo-menge, " Quantity
p_lifnr LIKE ekko-lifnr, " Vendor code
p_frbnr LIKE mkpf-frbnr, " Reference doc for goods mvt
p_status(5) TYPE c.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN PUSHBUTTON 15(10) v_save USER-COMMAND mvmt.
SELECTION-SCREEN PUSHBUTTON 40(10) v_clear USER-COMMAND clear.
INITIALIZATION -
INITIALIZATION.
v_save = c_save .
v_clear = c_clear.
*--AT SELECTION_SCREEN--
AT SELECTION-SCREEN .
IF sy-ucomm = c_clear.
PERFORM f_clear.
ELSE.
IF sy-ucomm <> c_mvmt.
if not sy-tabix is initial and sy-ucomm <> c_mvmt.
*--- Extracting the data by splitting the scanned values.
PERFORM f_get_split_data.
*--- Validating the input data.
PERFORM f_check_inputs.
ELSE .
*--- Validating the input data.
PERFORM f_check_inputs.
*-- Determining the posting date and period check.
PERFORM f_get_posting_date.
*---Post goods movement
PERFORM f_post_receipt.
ENDIF.
ENDIF.
SUBROUTINES *
*& Form f_check_inputs
Validating the input parameters
FORM f_check_inputs.
*-- Validating material no.
SELECT SINGLE matnr INTO p_matnr
FROM mara
WHERE matnr = p_matnr.
IF sy-subrc = 4.
p_status = c_error.
MESSAGE e003(zm) WITH 'Material no.'.
ENDIF.
*-- Validating JHT reference no.
SELECT SINGLE ebeln
lifnr
bukrs
INTO (p_ebeln, v_lifnr , v_bukrs)
FROM ekko
where unsez = p_unsez. chg:07072003
WHERE ebeln = p_ebeln.
IF sy-subrc = 4.
p_status = c_error.
MESSAGE e003(zm) WITH 'Purchase order no.'.
ENDIF.
*-- Validating material po combination
SELECT SINGLE *
FROM ekpo
WHERE ebeln = p_ebeln
AND matnr = p_matnr.
IF sy-subrc = 4.
p_status = c_error.
MESSAGE e003(zm) WITH 'Purchase order no.' ' and Material no.'.
ENDIF.
*--- Checking for DO entry . (chng : 30/06/2003)
IF p_frbnr IS INITIAL.
MESSAGE e018(m7) WITH 'Delivery no.'.
p_status = c_error.
PERFORM f_clear.
ENDIF.
*-- Validating material po do combination
SELECT SINGLE a~belnr
INTO v_belnr
FROM ekbe AS a
INNER JOIN mkpf AS b
ON abelnr = bmblnr
AND agjahr = bmjahr
WHERE a~ebeln = ekpo-ebeln
AND a~ebelp = ekpo-ebelp
AND b~xblnr = p_frbnr.
IF sy-subrc = 0.
MESSAGE e019(zm) WITH v_belnr.
p_status = c_error.
PERFORM f_clear.
ENDIF.
p_status = c_ok.
ENDFORM. " f_check_inputs
*& Form f_get_split_data
Extracting the data by splitting the Scanned data
FORM f_get_split_data.
*-- Splitting the data at commas
SPLIT p_bar AT c_comma INTO TABLE i_part.
*-- Assigning the parts to variables.
LOOP AT i_part.
v_first = i_part-part+0(1).
TRANSLATE v_first TO UPPER CASE.
CASE v_first .
WHEN 'V'.
p_lifnr = i_part-part+1(10).
WHEN 'P'.
p_matnr = i_part-part+1(18).
WHEN 'Q'.
p_menge = i_part-part+1(13).
WHEN 'K'.
p_ebeln = i_part-part+1(10).
WHEN 'D'.
p_frbnr = i_part-part+2(16).
WHEN OTHERS.
CONTINUE.
ENDCASE.
ENDLOOP.
ENDFORM. " f_get_split_data
*& Form f_get_posting_date
Determing the posting date for document
FORM f_get_posting_date.
*-- get the current period for todays date.
DATA: l_period LIKE t009b-poper.
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
i_date = sy-datum
i_periv = 'K4'
IMPORTING
e_buper = l_period
E_GJAHR =
EXCEPTIONS
input_false = 1
t009_notfound = 2
t009b_notfound = 3
OTHERS = 4
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*-- Determining whether the open period
SELECT SINGLE *
FROM marv
WHERE bukrs = v_bukrs.
IF sy-subrc = 0.
IF l_period = marv-lfmon .
v_postdate = sy-datum.
ELSE.
CALL FUNCTION 'BAPI_CCODE_GET_FIRSTDAY_PERIOD'
EXPORTING
companycodeid = v_bukrs
fiscal_period = marv-lfmon
fiscal_year = marv-lfgja
IMPORTING
first_day_of_period = v_postdate
return = i_return1.
IF NOT i_return[] IS INITIAL.
LOOP AT i_return1.
MESSAGE i016(zm) WITH i_return-message.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " f_get_posting_date
*& Form f_post_receipt
Post the goods receipt for entered data.
FORM f_post_receipt.
PERFORM f_fill_item.
PERFORM f_fill_header.
PERFORM f_execute_transfer.
PERFORM f_clear.
ENDFORM. " f_post_receipt
*& Form f_fill_item
Updating the item data for the GR
FORM f_fill_item.
Checking for IQC cycle is done here.(chng : 23/07/2003)
PERFORM f_check_iqc.
*---- Assigning movement type as per IQC cycle.(chng : 23/07/2003)
IF v_lgort IS INITIAL.
MOVE '101' TO i_item-move_type.
SELECT SINGLE lgort INTO i_item-stge_loc
FROM ekpo
where ebeln = v_ebeln and " chg :07/07/2003
WHERE ebeln = p_ebeln AND
matnr = p_matnr .
ELSE.
MOVE v_lgort TO i_item-stge_loc.
MOVE v_bwart TO i_item-move_type.
ENDIF.
MOVE p_matnr TO i_item-material.
MOVE p_menge TO i_item-entry_qnt.
move v_ebeln to i_item-po_number. " 07/07/2003
MOVE p_ebeln TO i_item-po_number.
MOVE v_lifnr TO i_item-vendor.
MOVE c_b TO i_item-mvt_ind.
select single ebelp into i_item-po_item " chg :29/07/2003
from ekpo
where ebeln = p_ebeln
and matnr = p_matnr
and elikz = ''.
SELECT ebeln
ebelp
matnr
menge
INTO CORRESPONDING FIELDS OF TABLE i_ekpo
FROM ekpo
WHERE ebeln = p_ebeln
AND matnr = p_matnr
AND loekz = '' .
SORT i_ekpo BY ebeln ebelp matnr.
LOOP AT i_ekpo INTO wa_ekpo.
IF v_found = 0.
SELECT ebeln ebelp
bwart menge
INTO CORRESPONDING FIELDS OF TABLE i_ekbe
FROM ekbe
WHERE ebeln = p_ebeln
AND ebelp = wa_ekpo-ebelp
AND matnr = p_matnr.
and elikz = '' . CHG -- 03/19/2004
IF sy-subrc = 0.
LOOP AT i_ekbe INTO wa_ekbe .
IF wa_ekbe-bwart = '101'.
v_menge = v_menge + wa_ekbe-menge.
ENDIF.
IF wa_ekbe-bwart = '102'.
v_menge = v_menge - wa_ekbe-menge.
ENDIF.
IF wa_ekbe-bwart = '122'.
v_menge = v_menge - wa_ekbe-menge.
ENDIF.
ENDLOOP.
chng: 03/19/2004 compare po qty against receipt
v_menge = v_menge + p_menge .
IF wa_ekpo-menge >= v_menge .
v_found = 1.
MOVE wa_ekpo-ebelp TO i_item-po_item.
ENDIF.
ELSE .
v_found = 1.
MOVE wa_ekpo-ebelp TO i_item-po_item.
ENDIF.
ENDIF.
CLEAR : wa_ekbe, i_ekbe, v_menge.
ENDLOOP.
IF v_found = 0 .
MESSAGE e003(zm) WITH ' delivery items'.
ENDIF.
APPEND i_item.
CLEAR : i_item, v_found .
ENDFORM. " f_fill_item
*& Form f_check_iqc
Checking the storage location for the (chng : 23/07/2003)
FORM f_check_iqc.
CALL FUNCTION 'Z_M_GET_IQC_STATUS'
EXPORTING
matnr = p_matnr
lifnr = v_lifnr
IMPORTING
lgort = v_lgort
bwart = v_bwart
ltsnr = v_ltsnr
infnr = v_infnr
EXCEPTIONS
non_iqc_vendor = 1
OTHERS = 2.
IF sy-subrc <> 0.
CLEAR : v_lgort , v_bwart , v_ltsnr.
ENDIF.
ENDFORM. " f_check_iqc
*& Form f_fill_header
Updating data in the header
FORM f_fill_header.
MOVE v_postdate TO wa_header-pstng_date.
MOVE sy-datum TO wa_header-doc_date.
MOVE p_frbnr TO wa_header-ref_doc_no.
ENDFORM. " f_fill_header
*& Form f_execute_transfer
Executing the goods movement.
FORM f_execute_transfer.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = wa_header
goodsmvt_code = c_01
IMPORTING
goodsmvt_headret = wa_return
TABLES
goodsmvt_item = i_item
return = i_return.
IF i_return[] IS INITIAL .
COMMIT WORK.
*--- UPdating Info record for IQC cycle ind.(chng : 23/07/2003)
IF NOT v_ltsnr IS INITIAL.
UPDATE eina SET ltsnr = v_ltsnr
WHERE infnr = v_infnr.
ENDIF.
REFRESH : i_item.
CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
MESSAGE i012(migo) WITH wa_return-mat_doc.
PERFORM f_do_print.
ELSE.
REFRESH : i_item.
CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
PERFORM write_errors.
ENDIF.
ENDFORM. " f_execute_transfer
FORM write_errors.
WRITE: 0(90) sy-uline ,
/0'|',
3 'System messages for GR posting',
90 '|',
/0(90) sy-uline .
LOOP AT i_return.
CASE i_return-type.
WHEN 'E'.
MESSAGE i016(zm) WITH i_return-message.
WHEN 'W'.
MESSAGE i017(zm) WITH i_return-message.
WHEN 'I'.
WRITE: /0'|',
icon_yellow_light AS ICON ,
'|',
10 i_return-message,
90 '|'.
MESSAGE i018(zm) WITH i_return-message.
WHEN 'S'.
WRITE: /0'|',
icon_green_light AS ICON ,
'|',
10 i_return-message,
90 '|'.
MESSAGE i018(zm) WITH i_return-message.
WHEN OTHERS.
WRITE: /0'|',
icon_red_light AS ICON ,
'|',
10 i_return-message,
90 '|'.
MESSAGE e016(zm) WITH i_return-message.
ENDCASE.
AT LAST .
WRITE:/0(90) sy-uline .
ENDAT.
ENDLOOP.
ENDFORM. " write_errors
*& Form f_clear
Clearing the input parameters
FORM f_clear.
CLEAR : p_ebeln ,
p_bar,
p_matnr,
p_frbnr,
v_lifnr,
p_menge,
p_status.Hi all,
can anyone suggest any idea?
Regrds
pabitra -
Very very urgent Discoverer reports for non oracle applications
Hi,
My client is using discoverer 10g with R12.He is using different non oracle applications like BRM Application (database is oracle only) for that they wants to develop discoverer reports.It is possible to integrate with non oracle applications with discoverer.
Can you please suggest me.It is very very urgent.
Thanks & Regards.Hi
You're really not supposed to manage a non-Apps mode EUL and an Apps mode data within the same URL. Having said that, I have a hunch you just might be able to do it and there are 2 ways. You can either make the data available to user who login using E-Business Suite credentials or you can make it available to users who have database credentials. The first one is straightforward and you do it just like any other data. Let me give you some hints regarding the second method.
First of all I ahve not personally tried this and you may find that because Discoverer was initially set up in Apps mode that somewhere down the line it will make the suers connect this way. However, the following is worth a try.
I would a new schema in the Oracle E-Business database to manage the link to BRM and create a database link from this user to a user in the BRM database. You will also need to create user accounts within the database for anyone who needs to login and run BRM reports.
Next, I would create views in this new schema pointing at data across the BRM link, thus allowing Discoverer to think these are local objects.
In Discoverer Administrator, you would need to log in to Discoverer using the owner of the EUL - NOT using SYSADMIN or any of the other E-Business Suite accounts. You should log in with the Oracle Applications checkbox unchecked. You can now create new business areas on the BRM data. You should also be able to assign users to Discoverer privileges and users to business areas.
Using the same URL you would have Apps users connect using the E-Business Suite item on the drop-down for logging in and you would have BPM users choose the Business Intelligence Discoverer item.
Let me know how you get on
Michael -
UPDATE ROUTINE --- CUBE --- ODS Very Very URGENT
Hi Collegues/Friends ,
First I need to thank for the intiators of this site , as I came to know that for many
problems we will get different best solutions ... Hoping the same I am posting a question
which is very very very urgent as the client is running after me for this .
My Requirement is as Follows. ..
I Moving the data from Cube to ODS . While i need to write a routine for an extra field in
ODS based on Billing Quantity in Base Unit of Measure . The Key Field in the ODS Is UNIQKEY
Transaction and It is a Characterstic in the Cube and we have MAterial as another
Characteristic and core element as navigational attribute .
In the Cube for every UNIQKEY transaction- there are more than One line items.
My data fields in the ODS are Billing Quantity in Base Unit of MEasure and and EXTRA FIELD
: No of Items in Transaction . But the thing is that I have only Billing Quantity in Base
Unit of Measure in cube as a key figure
BAsing on the UNIQKEY transcation and Billing Quantity In Base Unit Of Measure I need to
populate the No of Items in Transaction... For this i need to write a routine .
Let suppose say that for the Materials the core elements are as follows
Material Core element
10 1 -- fuel -- In liters
20 2 -- Cigar - in PAck
30 3 -- Coke - in Cans
Now Lets see how the records are there in InfoCUbe
Uniqkey / Material / Core element /Billin Quantiy
A / 10 / 1 / 22
B / 30 / 3 / 2
C / 10 / 1 / 15
C / 30 / 3 / 2
D / 20 / 2 / 10
D / 30 / 3 / 2
And IN the ODS -- I need to Populate the No OF items in Transaction.
the Logic behind this as follows .
1.if Materail is of type 1(Mean if the core element - 1)
I need to Populate the No of items in tnx = 1
2.If Material id of type 2 or 3 I need to populate the billing quantity to the no of
transcations.
3. If the Uniqkey tanscation contains two line items as suppose that you have 20 litres of
fuel and 2 cans of coke, then No of Items in the transaction should be 3 and Billing
Quantity in BUoM 22
billing quantity in BUoM = 20 litres for the first line item and 2 for the second line
item...
then as the first line item is fuel, field No OF Items in the Transcation should be 1
(replacing the 20) + 2 = 3
so the final result in the ODS should be billing quantity in BUoM = 22 and The Items in the
Transcation = 3
For this I have Written a Rouinte like this for that field
PROGRAM UPDATE_ROUTINE.
$$ begin of global - insert your declaration only below this line -
TABLES: /BI0/PMATERIAL.
DATA: TITEMS LIKE /BIC/AZPOCODS00-/BIC/ZTITEMS,
CORE_ELEMENT like /BI0/PMATERIAL-RPA_WGH1.
$$ end of global - insert your declaration only before this line -
FORM compute_data_field
TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring
USING COMM_STRUCTURE LIKE /BIC/CS8ZPOCTUS04
RECORD_NO LIKE SY-TABIX
RECORD_ALL LIKE SY-TABIX
SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
CHANGING RESULT LIKE /BIC/AZPOCODS00-/BIC/ZTITEMS
RETURNCODE LIKE SY-SUBRC "Do not use!
ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
$$ begin of routine - insert your code only below this line -
fill the internal table "MONITOR", to make monitor entries
check not COMM_STRUCTURE-material is initial.
select SINGLE RPA_WGH1
INTO CORE_ELEMENT
from /BI0/PMATERIAL
where
material = COMM_STRUCTURE-material
and OBJVERS <>'D'.
IF CORE_ELEMENT EQ '1'.
TITEMS = '1'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = titems
IMPORTING
OUTPUT = titems
ELSE.
TITEMS = COMM_STRUCTURE-BILL_QTY.
ENDIF.
result value of the routine
RESULT = TITEMS..
if abort is not equal zero, the update process will be canceled
ABORT = 0.
$$ end of routine - insert your code only before this line -
Does it satisfy all the conditions ?? mentioned above if . As far As i know as the only key
field in the transcation it will satisfy the first two conditions .
I want to know or If possioble anybody pls take some pain for me to send the code or any
Ideas for satisfying all the conditions.
Hope I will get immediate replies....
Mail me to [email protected]Reddy,
Please do not post in all sections ... makes it hard to follow up on posts..
Arun -
Searching for the fields of a table(very very urgent)
Hi all,
i am in graet trouble now.i am searching for the fields like
1)country of origin where the finished good is created.
2) customer sales order number
3)customer sales order line number
i am writing a report for delivery order.in this report i have to refer customer PO & customer SO .
i mean, my company has a customer ( seagate) & seagate has a customer (let maxtor).initially maxtor will give a PO to seagate then seagate will raise a SO againest maxtor.
Then seagate will send PO number(of maxtor), PO line number,SO number(seagate), SO line number(seagate) to our company.
Then i have to write a report for sales order & delivery order.in these reports i have to refer seagate PO number & seagate SO number for reference.
i got PO number as vbkd-bstkd but not getting any field for reference Sales order.plz advice me on this. it is very very urgent.
ur idea is highly appreaciated.
Thank u very much.
Regards
pabitracheck out tables VBAK(sales order header), VBAP(sales items)
-
Hi friends,
The issue my user is having is that he has created a subcontracting PO ...and later while issuing thro MB1b 541... the system throws an error... PO HAS NO ITEMS..
But PO has a BOM exploded ...when i check it has item category T instead of an L... By the time i could check CS03, the user has deleted the BOM .,so i suggested to create a new one with item category L...The issue got resolved.
But my doubt is how this item category T has appeared in the BOM, since when i try creating a BOM with T i cannot enter matl code but my BOM which had popped in the PO had all details with matl code, desc , qty and item category as T..
Pls kindly advise and help me understand..
Thanks
nanduWhen creating your material BOM with Item category T, do not enter the material number.
Only enter decripiton qty. and uom. This should allow you to create the BOM. You would then see this BOM in your Sub-Contract PO. I don't think it was possible you saw the material item in the BOM from your original T category items, as this would not be allowed per standard functionality, as you noted when trying to recreate the incorrect BOM. -
Hi AS2 experts,
Regarding AS2 sender adapter:
We will provide the details
TP: HTTP
MP: AS2
*Message Subject = **
1. Can anyone please clarify what is this message subject ??
Its the incoming file name we need to provide?
According to few blogs,
2. We will be providing the below URl to the partner system to send there messages.
HTTP://<your-xi-server>:50000/SeeburgerAS2/AS2Server
Consider im having partner systems A,B,C .
and we will be creating 3 communication channels(CC1 ,CC2 ,CC3) to three partner systems.
If i provide same URL to all the three partner systems.
Then how it will differentiate like which file is belongs to which interface (from which partner it is coming)?
And im not providing anything specific in all the AS2 sender comunication channels to differentiate these files.
What is this AS2ID which we will provide in Party Configuration.
WIll it makes any difference to above problem?
Kindly suggest me if anyone has idea about this asap.
Its Very very urgent.
ThankYou.
Regards
Deepthi.Hi,
>>>>1. We need to provide the below URl and Port to the partner to receive the messages?? HTTP://<your-xi-server>:50000/SeeburgerAS2/AS2Server
I guess yes . you need to provide this URI.
>>>>>2.Is it possible to do content based routing by using Message Subject?
yes it is possible to determine the receiver depending upon ur condition. Please provide the context object at design time and at the time of Configuration , using XPATH you can determine conditional receiver.
please look in to this links u will come to know about seeburger adapter.
/people/bla.suranyi/blog/2006/06/08/sap-xi-supports-edifact
/people/william.li/blog/2006/03/17/how-to-get-started-using-conversion-agent-from-itemfield
/people/paul.medaille/blog/2005/11/17/more-on-the-sap-conversion-agent-by-itemfield
http://www.stylusstudio.com/edi/XML_to_X12.html
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/b0b355ae-0501-0010-3b83-8f2bb566fa47
Details on XI EDI adapter from seeburger
/people/bla.suranyi/blog/2006/06/08/sap-xi-supports-edifact
http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
http://www.seeburger.com/fileadmin/com/pdf/AS2_General_Overview.pdf
SAP Adapters
EDI with XI
http://www.seeburger.com
http://www.seeburger.com/fileadmin/com/pdf/AS2_General_Overview.pdf
http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
http://www.seeburger.com/fileadmin/com/pdf/SEEBURGER_SAP_Adapter_engl.pdf
http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
http://www.sap.com/france/company/events/2006/02-01-Automotive-Seeburger.pdf
http://h41123.www4.hp.com/presentations/ISUG/XISeeBurger.ppt
http://www.sap.com/asia/company/events/nwtechdays/presentation/australia-slides/Pre-Built_Integration.pdf
http://www.seeburger.com
http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
http://www.sap.com/france/company/events/2006/02-01-Automotive-Seeburger.pdf
http://h41123.www4.hp.com/presentations/ISUG/XISeeBurger.ppt
Hope this will help you.
Regards
Aashish Sinha
PS : reward points if helpful -
Backup to TimeMachine with WI FI is very slow!
Backup to TimeMachine with WI FI is very slow!
I set the backup with TM but backups and slow
We can Help Me ?alexrav wrote:
Backup to TimeMachine with WI FI is very slow!
I set the backup with TM but backups and slow
We can Help Me ?
Yes, WIFI is slow. If this is your first backup, it will be much faster if you connect to your Time Capsule or Airport Express via an Ethernet Cable.
Also try the things in item #D2 of the Time Machine - Troubleshooting *User Tip* at the top of this forum. -
Hi...
I am working on customizing existing JSP Page. The idea is to retrieve the customer name as show in 1 and send is as run time parameter to SQL query and use the result of select statement to pass it to 2.
<INPUT TYPE="HIDDEN" NAME="soldtoCustPartyName" VALUE="<%= soldtoCustPartyName %>">.............1
The above line of code gives the customer name. We need to find the site id for the above customer and pass it to the following line of code. site id will replace the hardcoded number '7945'.
pageContext.setAttribute("party_site_id", new BigDecimal(7945), PageContext.REQUEST_SCOPE);...............2
Hence we create database connection to find out site id. The query will return the site id depending upon the customer name as in 1. SQL statement will be something like:
select site_id from ..... where fixed conditions and sitename = (from 1).
How can we create SQL statement to take run time values.
For eg. we do the following to execute Query after connecting to the databse..
Statement statement = connection.createStatement();
ResultSet rs = null;
rs = statement.executeQuery("SELECT party_id from apps.hz_party_sites where cust_name='IBM'");
<% rs.next(); %>
<% out.print(rs.getInt("party_id")); %>
How can the above query be modified to take run time value for cust_name.
THIS IS VERY VERY URGENT.....PLEASE HELP.......Where are these run time values coming from? The user is entering the values into a form with that input?
If so, then the user will need to submit the form, you need a servlet to process the form, take the value from the parameter with the same name as the input, insert it into the SQL statement, and run the database query, get the results and store them in the context you want. -
Mail has become very, very slow. Do I have a provider problem or is there something I can do with my Mac?
Couple of steps. One is general housekeeping and the other is performance related.
If you have an extremely large number of messages in your inbox(es) or sent categories, consider the ones that remain relevant and purge those that are not. Do this regularly. Choose the Mailbox > Erase Deleted Items > In All Accounts...
Afterwards, you can start by rebuilding your Mailbox indexes within your individual mail accounts. For each Account in the left panel of Mail under Inbox, select it, and then from Mailbox menu, choose Rebuild (bottom of menu). When you are done, exit and restart Mail.
Still slow?
Maybe you are looking for
-
Iphone 5S call voice Low quality.
Iphone 5S low quality call voice. When I make a phone call , people in the other side said my voice is very small and disconnected. The voice is good when I am using the earphone at the same calls
-
Use internal table in Smartform
Hi All, I want to use the internal table in program in smartform. For that i have declare that table in TABLES attribute of the function module and trying to declare that table in form interface in smartform.I have created one stucture in data dictio
-
Hi all, i am going on holiday soon and want to watch all the movie from itunes however my ipad is only 16gb and cannot hold all the videos, any advice on how i could watch the films on my ipad my connecting it too my ipod touch (32GB) or iphone (32gb
-
Dear Friends, We have an issue as explained below. An end user has created a Sales order and added a line Item. He forgot to add WBS Element and continued with delivery. Delivery document has been created without WBS element(Table LIPS is updated wit
-
Client system: iPad 4 running iOS 8.1.1 Client language/locale: US English Client app: MRD 8.1.5 Server system: 64-bit Windows 8.1 Pro Server language/locale: US English Problem: client-side keyboard in MRD 8.1.5 does not work properly within VMware