Hi friends need your help for the following !
How to populate an idoc type.
Is it only by writting a report program like
"master idoc distribute" or also by NACE.
When i am using NACE then i must have the baic idoc type cretaed with ALE configured ??
Hi,
It is not always by using NACE. If ur making use of standard IDOC types Like
ORDERS05
MATMAS06
DEBMAS etc for the salesorder and purchase orders etc then u can go for the
T.codes : BD10 for MATMAS05,
BD12 for CREMAS06,
BD14 for DEBMAS04 for the MM01, VD01 and MK01/XK01 T.codes Respectively.
If u r dealing with NACE then u should know the basic idoc for which u r using NACE and Messgae type .
There u will cofigure and assign the OUTPUTYPE and assign those outputtype to the respective T.code.
Regards.
Similar Messages
-
HI ALL SINCE TWO DAYS I AM DOWNLOADING VIBER BUT I AM NOT HAVING MY ACCESS CODE AND EVERY TIME I DELETE THE APPLICATION AND DOWNLOADING IT AGAIN BUT ALWAYS THE SAME RESULT PLEASE I NEED YOUR HELP FOR THE ACCESS CODE.MY PHONE NUMBER IS 0022996969896.THANKS IN ADVANCE
try this website this should help you http://helpme.viber.com/index.php?/Knowledgebase/List/Index/1/iphone
-
Need your help with the following 3 error messages that now appear on my PDF document.
Hi all,
I have been working on a PDF document for university for the last 4 months. Its a PDF document which I have been filling in as I go along and saving without any problems.
Today however I try to open it for work and this is what I get in succession...
"This document enabled extended features in Adobe Reader. The document has been changed since it was created and use of extended features is no longer available. Please contact the author for the original version of this document"
"An error exists on this page. Acrobat may not display the page correctly. Please contact the person who created the PDF document to correct the problem"
"The font 'GTAJBY +Bliss-Regular' contains a bad /BBbox."
This has never done this before and even when I tried to open my backup file it did the same.
Can someone please help me? I have so much work thats potentially lost on this....
(Also, I am not much of a computer head, so please keep it in layman's terms)
Thanks in advance everyone...I am having same problem with a 2011 year tax PDF fill in form I JUST got from IRS website.
The actual form is the 2011 8829.
I am running Windows 7 64 bit, Adobe Reader X version 10.1.4.
After trying to open the doc (nothing displays) I go to properties, and it says ...
Title: 2011 Form 8829
Author: SE:W:CAR:MP
Created: 12/23/2008
PDF Producer: Adobe LiveCycle DSesigner ES 8.2.
PDF Version: 1.7 (Acrobat 8.x)
Tagged PDF: No
Fast Web View: No
Yikes ... was hospitalized last year ... now I have 9 days to file. -
I need Your Help for CAF/EU/GP/API Guided Procedures
Hi everyone, I need your help about Guided procedures CAF API, I am developing an WEB DYNPRO Callable Object for Guided Procedures, but I need to get the task name of the running proceess on Guided Procedure once time a user initiated it, if is possible? Do you have an examples?
Thenk you very muchHi,
Yes you can retrieve the task name of the running process. Here is what you need to do.
1. Get the process instance - IGPRuntimeManager - > getInstance()
2. Get the IGPActivityInstance(s) from the process instance - processInstance.getChildrenInformation().
3. Optionaly check if these child activities are Blocks or Actions. If Block drill further to get the Actions using getChildrenInformation().
4. Retreive the IGPActionInstance(s) from the Block Activities.
5. Get the IGPActivity object for these Actions using IGPActionInstance.getTemplate() method.
6. This object will have a method getTitle() which will retrive you the activity name.
Hope this helps.
Thanks
Kiran -
Need your help with the SaveAs function plz
Good day everyone,
I need your help yet again to figure out if what im trying to acomplish is even possible within Livecycle designer.
My issue is simple in nature, prevent the SaveAs "open window" to show up when they press the disk icon or use the saveAs option from the File menu if some of my fields are not fill-in.
To do so, i placed the code into the Pre-save area of my form and that code checks if certain fileds are filled-in are not.
If there not, i want to tell the user to fix this before the SaveAs occurs.
But right now, the problem is that the "SaveAs open" window shows up FIRST i have to tell where i will save the file and all that good stuff and THEN my code gets activated.
I was able to create my onw SaveAs button and it works well, the problem is that i want to also capture any save's that are executed around the form (the disk icon, the SaveAs in the FileMenu and the Ctrl+s)
Is there a way to do just that? right now i would be ok in just being able to tell Livecycle to cancel the SaveAs action if that was possible, but i cant find anyway of doing that neither
Your help is always appreciated
Thanx a lot.I am having same problem with a 2011 year tax PDF fill in form I JUST got from IRS website.
The actual form is the 2011 8829.
I am running Windows 7 64 bit, Adobe Reader X version 10.1.4.
After trying to open the doc (nothing displays) I go to properties, and it says ...
Title: 2011 Form 8829
Author: SE:W:CAR:MP
Created: 12/23/2008
PDF Producer: Adobe LiveCycle DSesigner ES 8.2.
PDF Version: 1.7 (Acrobat 8.x)
Tagged PDF: No
Fast Web View: No
Yikes ... was hospitalized last year ... now I have 9 days to file. -
Need Mapping logic for the following scenario
Hi everyone,
I need a mapping logic for the following scenario.
For the same order no with same material no, the quantity should be summed and only one idoc should be created.
For the same order no with different material no, no need to sum the quantity and only one idoc should be created.
For example:
Source Structure:
Ord No Mat No QTY
12 1 2
13 1 3
13 2 1
12 2 4
15 1 5
14 3 7
12 1 6
Target Structure:
Ord No Mat No QTY
12 1 8
12 2 4
13 1 3
13 2 1
14 3 7
15 1 5
Thanks in AdvanceTry the graphical mapping as shown below using concat with a space as delimite and UDF to split the value again by space.
1. Idoc node
(RootContext)
OrdNo
|concat[ ] -> sort[asending] -> SplitByValue -> collapseContexts -> Idoc
MatNo case sensitive [ValueChange]
(RootContext)
2. OrdNo
OrdNo(RC)
|concat[ ] -> sort[asending] ->SplitByValue->collapseContexts->SplitByVale-> UDF to fetch ordno -> OrdNo
MatNo(RC) case sensitive [ValueChange] [eachValue] (return var1.split(" ")[0];)
3. MatNo
OrdNo(RC)
|concat[ ] -> sort[asending] -> SplitByValue ->collapseContexts->SplitByVale-> UDF to fetch ordno -> MatNo
MatNo(RC) case sensitive [ValueChange] [eachValue] (return var1.split(" ")[1];)
4. Qty
[asending,case sensitive]
-- sortByKey -----> formatByExample -> sum ->Qty
OrdNo(RC) | | ^
|concat[ ] -> | Qty(RC) |
MatNo(RC) | |
--sort[asending]-> SplitByValue
case sensitive [ValueChange]
Regards,
Sunil Chandra -
Need a Query for the following Output
I have a table name Table1. some of the data are like the following
EmpCode ProductCode Quantity
20006 IMPLSA 5
20006 LACJDT 10
20006 LIVLSU 15
20006 PEPPSU 11
20006 SAFMTA 12
20006 SUCFTA 17
21475 IMPLSA 2
21475 LACJDT 7
21475 LIVLSU 4
21475 PEPPSU 8
21475 SUCFTA 12
20409 IMPLSA 11
20409 LACJDT 13
20409 LIVLSU 9
20409 SAFMTA 7
20409 SUCFTA 5
21112 IMPLSA 2
21112 LIVLSU 18
21112 PEPPSU 20
21112 SAFMTA 22
21112 SUCFTA 15
Here no of EmpCode and ProductCode are not fixed.
And i need the output like this
ProductCode 20006 21475 20409 21112
IMPLSA 5 2 11
2
LACJDT 10 7 13 0
LIVLSU 15 4 9 18
PEPPSU 11 8 0 20
SAFMTA 12 0 7 22
SUCFTA 17 12 5 15
I know that it may be solved by dynamic pivot. but i never write any dynamic pivot query.
So Please Help me.DECLARE @EmpList varchar(max),@SQL varchar(max)
SELECT @EmpList = STUFF((SELECT DISTINCT ',[' + CAST(EmpCode AS varchar(15)) + ']'
FROM Table1
ORDER BY ',[' + CAST(EmpCode AS varchar(15)) + ']'
FOR XML PATH('')),1,1,'')
SET @SQL='SELECT ProductCode,' + @EmpList +
' FROM table1 t
PIVOT(SUM(Quantity) FOR EmpCode IN (' + @EmpList + '))p'
EXEC (@SQL)
Please Mark This As Answer if it solved your issue
Please Mark This As Helpful if it helps to solve your issue
Visakh
My MSDN Page
My Personal Blog
My Facebook Page -
Need calculation sum for the following expression
Hi All,
Please help me in doing SUM to the following expression.
How to SUM the following expression. Please reply me ASPA.
=iif(Fields!AdhocHourCharge.Value*Fields!ChargedAdhocRate.Value+Fields!RoutineHoursCharge.Value*Fields!ChargedRoutineRate.Value<>0.00,(Fields!AdhocHourCharge.Value*Fields!ChargedAdhocRate.Value+Fields!RoutineHoursCharge.Value*Fields!ChargedRoutineRate.Value),0)Hi Rasul,
if all fields are having numerical data than use below expression:
=Sum(iif((Fields!AdhocHourCharge.Value*Fields!ChargedAdhocRate.Value+Fields!RoutineHoursCharge.Value*Fields!ChargedRoutineRate.Value)<>0.00,(Fields!AdhocHourCharge.Value*Fields!ChargedAdhocRate.Value+Fields!RoutineHoursCharge.Value*Fields!ChargedRoutineRate.Value),0))
otherwise you may have some problem with your field's datatype on the RDL as any field is in string format rather than numerical format so for this you need to use CINT function to convert them in numerical format as:
=Sum(iif((Cint(Fields!AdhocHourCharge.Value)*Cint(Fields!ChargedAdhocRate.Value)+Cint(Fields!RoutineHoursCharge.Value)*Cint(Fields!ChargedRoutineRate.Value))<>0.00,(Cint(Fields!AdhocHourCharge.Value)*Cint(Fields!ChargedAdhocRate.Value)+Cint(Fields!RoutineHoursCharge.Value)*Cint(Fields!ChargedRoutineRate.Value)),0))
I hope it will work.
Live life with joy and happiness! Avanish -
I need your help with the Bios password!
Hi,
I'm using a satellite l305D-S5895 and i have a problem with the bios password. I was setting a password in the Bios or CMOS ( i don't know exactly). Every time i start up my computer, a blue box appears and ask me for the password. I know the password but I think it complicated and i want to take it off, and clear it. Please help me with that. If you guys have a way by turn of the battery or push the reset key inside the laptop, please give me some pictures to show that. Thanks a lot.This does not sound like a Toshiba Bios password. The Toshiba passwords come on a black screen with white writing and say "Password =". Toshiba Service Centers have the tools needed to remove the password. provided that you can prove the computer is yours. So bring a proof of purchase and be prepared to pay, because password removal is not covered under warranty.
-
Need function modules for the following...
Hello experts,
Is there an function module that I can use for:
1. get the last date for a given year
2. get the exchange rate for a given document number in a span of 5 years -
for example, I need to get the exchange rate of doc. number 0000000123
for the year 2000, 2001, 2002, 2003, 2004 and 2005(maximum of 5 years)
Help would be greatly appreciated.
Again, thank you guys and take care!Hi,
To use CALCULATE_EXCHANGE_RATE_N, you just have to pass the required parameters like foreign amount/currency and local amount/currency, instead you can query the table TCURR for the same data, remember to convert the 'DATE' to internal format before sending it in to the fm/table, you can refer the following code, this might help,
WRITE V_date TO LV_DATUM USING EDIT MASK '__.__.____'.
CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
EXPORTING
INPUT = LV_DATUM
IMPORTING
OUTPUT = LV_DATUM.
Retrieve the Exchange rate from Custom table for the Exchange
select ukurs from tcurr
into tcurr-ukurs
up to 1 rows
where kurst = 'M'
and fcurr = komk-waerk
and tcurr = komk-HWAER
and gdatu >= LV_DATUM.
endselect.
Rgds, -
I need urgent help for the logic
hi all,
Initially, the requirement was to create PO regardless the Purchase Requisition based on the formula
If (Open Qty + Current Stock) < Safety Stock ==>> THEN A PO NEEDS TO BE CREATED
This is absolutely fine, this created the PO as per the above condition.
OUR REQUIREMENT
Modify the same program to create PO's only if there is any PR for that material . Meaning, turn all the PR's into PO. Also, when creating PO, the delivery date should be = (Current date - 7 days) when creating a PO for an PR(I think the table name is VETVG.) Nothing else. We need to change the IF condition in the following code .
so can any one let me that what modification i need to do ie what logic i should use to get the requirement fullfilled.
*Report Z_STO_SAFETY_STOCK *
Program Name : Z_STO_SAFETY_STOCK *
Date : 09.03.2007 *
Programmer : Rajdeep Kumar
Last Change : Van Tran 22/03/2007 *
Specification: *
Program Type : Report *
Description : Create STO requirement for Plant
Transaction : None *
Input Files : None *
Output Files : None *
Scheduling Issues : *
Run Frequency : *
Mod# Date By Description *
New 09.03.2007 Rajdeep Kumar Created *
DEVK905890 *
M01 20.03.2007 Rajdeep Kumar Material Group Added to *
DEVK905892 Selection Screen *
*Update 05.04.2007 DEVK906082 Added two new selection *
fields beskz and sobsl *
and is select statement *
REPORT z_sto_safety_stock NO STANDARD PAGE HEADING.
*& TABLES
TABLES:
t001w,
marc. " M01
marc, " M01
mara. " M01
*& DATA DECLARATION
DATA: BEGIN OF it_marc OCCURS 0,
matnr LIKE marc-matnr,
werks LIKE marc-werks,
eisbe LIKE marc-eisbe,
bstmi LIKE marc-bstmi,
bstrf LIKE marc-bstrf,
beskz LIKE marc-beskz,
sobsl LIKE marc-sobsl,
END OF it_marc.
DATA: BEGIN OF it_mard OCCURS 0,
matnr LIKE mard-matnr,
werks LIKE mard-werks,
labst LIKE mard-labst,
END OF it_mard.
DATA: BEGIN OF it_po OCCURS 0,
ebeln LIKE ekko-ebeln,
werks LIKE ekpo-werks,
ebelp LIKE ekpo-ebelp,
loekz LIKE ekpo-loekz,
etenr LIKE eket-etenr,
matnr LIKE ekpo-matnr,
menge LIKE eket-menge,
wemng LIKE eket-wemng,
END OF it_po.
DATA: BEGIN OF it_po_2 OCCURS 0,
matnr LIKE ekpo-matnr,
werks LIKE ekpo-werks,
ebeln LIKE ekko-ebeln,
ebelp LIKE ekpo-ebelp,
loekz LIKE ekpo-loekz,
etenr LIKE eket-etenr,
menge LIKE eket-menge,
wemng LIKE eket-wemng,
END OF it_po_2.
DATA: BEGIN OF it_po_pend OCCURS 0,
matnr LIKE ekpo-matnr,
werks LIKE ekpo-werks,
pendi LIKE eket-menge,
END OF it_po_pend.
DATA: BEGIN OF wa_join OCCURS 0,
ebeln LIKE ekko-ebeln,
werks LIKE ekpo-werks,
ebelp LIKE ekpo-ebelp,
loekz LIKE ekpo-loekz,
etenr LIKE eket-etenr,
matnr LIKE ekpo-matnr,
menge LIKE eket-menge,
wemng LIKE eket-wemng,
END OF wa_join.
DATA : BEGIN OF itab_marc_mard OCCURS 0,
werks LIKE marc-werks,
matnr LIKE marc-matnr,
eisbe LIKE marc-eisbe,
bstmi LIKE marc-bstmi,
bstrf LIKE marc-bstrf,
beskz LIKE marc-beskz,
sobsl LIKE marc-sobsl,
labst LIKE mard-labst,
menge LIKE ekpo-menge,
ordqty LIKE ekpo-menge,
END OF itab_marc_mard.
DATA: BEGIN OF it_sto OCCURS 0,
werks LIKE mard-werks,
matnr LIKE mard-matnr,
orqty LIKE ekpo-menge,
eisbe LIKE marc-eisbe,
bstmi LIKE marc-bstmi,
bstrf LIKE marc-bstrf,
beskz LIKE marc-beskz,
sobsl LIKE marc-sobsl,
labst LIKE mard-labst,
pendi LIKE eket-menge,
END OF it_sto.
DATA: ws_poheader LIKE bapimepoheader.
DATA: ws_poheaderx LIKE bapimepoheaderx .
DATA: ws_ebeln TYPE mepoheader-ebeln.
DATA: ws_posnr LIKE ekpo-ebelp.
DATA: ws_etenr LIKE eket-etenr VALUE '0001'.
DATA: ws_purchaseorder LIKE ekko-ebeln.
DATA: ws_flg1 TYPE c. " VALUE 'X'.
DATA: ws_flg2 TYPE c.
DATA: ws_flg3 TYPE c.
*-- For Handling Error Messages in BAPI
DATA: tbl_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
*-- For Item Details
DATA: tbl_poitem LIKE bapimepoitem OCCURS 0 WITH HEADER LINE.
DATA: tbl_poitemx LIKE bapimepoitemx OCCURS 0 WITH HEADER LINE.
DATA: tbl_posched LIKE bapimeposchedule OCCURS 0 WITH HEADER LINE.
DATA: tbl_poschedx LIKE bapimeposchedulx OCCURS 0 WITH HEADER LINE.
*& CONSTANTS
CONSTANTS: ws_flg TYPE c VALUE 'X'.
CONSTANTS: c_unistruct(2) TYPE c VALUE 'Z3'. "For UNISTRUCT STO
*& SELECTION-SCREEN
SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_werks FOR t001w-werks,
s_matnr FOR marc-matnr. " M01
s_matnr FOR marc-matnr, " M01
s_matkl FOR mara-matkl, " M01
s_beskz FOR marc-beskz,
s_sobsl FOR marc-sobsl.
PARAMETERS: p_test TYPE check.
SELECTION-SCREEN : END OF BLOCK b1.
*& START OF SELECTION EVENT
START-OF-SELECTION.
Get the Safety Stock & Minimum Lot Size for the materials
PERFORM get_plant_data.
Get the Quantities in stock
PERFORM get_stock_data.
Determine the open quantities for the materials concerned
[EKKO, EKET, EKPO]
PERFORM get_open_quantities.
PERFORM open_quantities.
Determine overall the quantities required for each material
PERFORM determine_mat_qty_required.
Print the details
PERFORM print_details.
IF p_test EQ space.
PO is created for each plant.
Create the PO required.
PERFORM create_po.
Create the PO's for each plant with the materials required
PERFORM create_header_item.
Bapi call to create a Purchase order
PERFORM create_purhase_order.
ENDIF.
END-OF-SELECTION.
TOP-OF-PAGE.
PERFORM print_header.
*& Form get_plant_data
To get the Safety Stock
--> p1 text
<-- p2 text
FORM get_plant_data .
start " M01
SELECT matnr werks eisbe bstmi
INTO TABLE it_marc
FROM marc
WHERE matnr IN s_matnr AND
werks IN s_werks AND
eisbe GT 0.
end " M01
start " M01
SELECT marc~matnr werks eisbe bstrf beskz sobsl
" bstmi
INTO TABLE it_marc
FROM marc AS marc
INNER JOIN mara AS mara
ON maramatnr EQ marcmatnr
WHERE marc~matnr IN s_matnr AND
werks IN s_werks AND
matkl IN s_matkl AND
beskz IN s_beskz AND
sobsl IN s_sobsl AND
eisbe GT 0.
end " M01
ENDFORM. " get_plant_data
*& Form get_stock_data
To get the Current Stock
--> p1 text
<-- p2 text
FORM get_stock_data .
DATA: BEGIN OF lt_mard OCCURS 0,
matnr LIKE mard-matnr,
werks LIKE mard-werks,
lgort LIKE mard-lgort,
labst LIKE mard-labst,
END OF lt_mard.
CHECK NOT it_marc[] IS INITIAL.
SELECT matnr werks lgort labst
INTO TABLE lt_mard
FROM mard
FOR ALL ENTRIES IN it_marc
WHERE matnr EQ it_marc-matnr AND
werks EQ it_marc-werks.
SORT lt_mard BY matnr werks.
LOOP AT lt_mard.
AT NEW werks.
it_mard-matnr = lt_mard-matnr.
it_mard-werks = lt_mard-werks.
ENDAT.
it_mard-labst = it_mard-labst + lt_mard-labst.
AT END OF werks.
APPEND it_mard.
CLEAR it_mard.
ENDAT.
ENDLOOP.
ENDFORM. " get_stock_data
*& Form open_quantities
text
--> p1 text
<-- p2 text
FORM open_quantities .
Storing MARC and MARD data in an internal table to find the open
quantities
LOOP AT it_marc.
itab_marc_mard-matnr = it_marc-matnr.
itab_marc_mard-werks = it_marc-werks.
itab_marc_mard-eisbe = it_marc-eisbe.
itab_marc_mard-bstmi = it_marc-bstmi.
itab_marc_mard-bstrf = it_marc-bstrf.
itab_marc_mard-beskz = it_marc-beskz.
itab_marc_mard-sobsl = it_marc-sobsl.
READ TABLE it_mard WITH KEY matnr = it_marc-matnr.
IF sy-subrc EQ 0.
itab_marc_mard-labst = it_mard-labst.
ENDIF.
APPEND itab_marc_mard.
CLEAR itab_marc_mard.
ENDLOOP.
CHECK NOT itab_marc_mard[] IS INITIAL.
Join EKKO EKPO
SELECT a~ebeln
b~ebelp
b~werks
b~matnr
b~menge
c~etenr
c~wamng
INTO CORRESPONDING FIELDS OF TABLE it_po
FROM ekpo AS b
INNER JOIN ekko AS a
ON aebeln = bebeln
INNER JOIN eket AS c
ON bebeln = cebeln AND bebelp = cebelp
FOR ALL ENTRIES IN itab_marc_mard
WHERE b~matnr = itab_marc_mard-matnr AND
b~werks IN s_werks .
DATA : t_menge TYPE ekpo-menge . "local variable
*Store the contents of it_po to the work area to get the minimum order
*quantity
wa_join[] = it_po[].
LOOP AT it_po.
delete the entries where MENGE = WAMNG
DELETE it_po WHERE menge = it_po-wemng.
LOOP AT wa_join WHERE matnr = it_po-matnr
AND werks = it_po-werks.
t_menge = t_menge + wa_join-menge.
ENDLOOP.
it_po-menge = t_menge.
MODIFY TABLE it_po TRANSPORTING menge.
CLEAR :t_menge.
ENDLOOP.
Once you get the quantities delete the repeating materials for the
plant.
DELETE ADJACENT DUPLICATES FROM it_po COMPARING werks matnr.
SORT it_po BY matnr.
LOOP AT itab_marc_mard.
READ TABLE it_po WITH KEY matnr = itab_marc_mard-matnr
APPEND it_sto.
ELSE.
WRITE:/ 'There are no open quantities to create Purchase order'.
ENDIF.
CLEAR it_sto.
ENDLOOP. werks = itab_marc_mard-werks BINARY
SEARCH.
itab_marc_mard-ordqty = itab_marc_mard-labst + it_po-menge .
If Open quantiy + Current Stock < Safety Stock
IF itab_marc_mard-ordqty LE itab_marc_mard-eisbe.
Minimum order qty = Safety Stock - (Open qty + current stock)
itab_marc_mard-ordqty = itab_marc_mard-eisbe - ( it_po-menge +
itab_marc_mard-labst ) .
Move all the contents to the internal table it_sto ie Plant,
Material and the Min Order Qty
so that we can create PO based on this internal table
it_sto-matnr = itab_marc_mard-matnr.
it_sto-werks = itab_marc_mard-werks.
it_sto-orqty = itab_marc_mard-ordqty.
ENDFORM. " open_quantities
*& Form CREATE_HEADER_ITEM
text
FORM create_header_item.
LOOP AT it_sto.
*--- Document date with flag
ws_poheader-doc_date = sy-datum.
ws_poheaderx-doc_date = ws_flg.
*--- Document type with flag
ws_poheader-doc_type = 'Z3'(c01).
ws_poheaderx-doc_type = ws_flg.
*--- Purchasing group with Flag
ws_poheader-pur_group = '005'. " hardcoded
ws_poheaderx-pur_group = ws_flg.
*--- Purchasing Organization with flag
ws_poheader-purch_org = '2000'.
ws_poheaderx-purch_org = ws_flg.
*--- Supply plant with flag
ws_poheader-suppl_plnt = '2000'.
ws_poheaderx-suppl_plnt = ws_flg.
*--- Company Code with flag
ws_poheader-comp_code = '2000'.
ws_poheaderx-comp_code = ws_flg.
*<--- assinging new item No.
ws_posnr = ws_posnr + 10.
*POPULATE ITEM DATA.
tbl_poitem-po_item = ws_posnr.
tbl_poitem-material = it_sto-matnr.
tbl_poitem-item_cat = 'U'(c02).
tbl_poitem-plant = it_sto-werks.
tbl_poitem-quantity = it_sto-orqty.
APPEND tbl_poitem.
CLEAR tbl_poitem.
*POPULATE ITEM FLAG TABLE
tbl_poitemx-po_item = ws_posnr.
tbl_poitemx-po_itemx = ws_flg.
tbl_poitemx-material = ws_flg.
tbl_poitemx-plant = ws_flg.
tbl_poitemx-item_cat = ws_flg.
tbl_poitemx-quantity = ws_flg.
APPEND tbl_poitemx.
CLEAR tbl_poitemx.
ENDLOOP.
ENDFORM. "CREATE_PO
*& Form
text
--> p1 text
<-- p2 text
FORM create_purhase_order .
CLEAR: tbl_poitem,
tbl_poitemx,
ws_poheader,
ws_poheaderx.
REFRESH: tbl_poitem,
tbl_poitemx.
CLEAR : tbl_return.
REFRESH: tbl_return.
*<--- Bapi to create Purchase order
IF NOT tbl_poitem[] IS INITIAL.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = ws_poheader
poheaderx = ws_poheaderx
IMPORTING
exppurchaseorder = ws_purchaseorder
TABLES
return = tbl_return
poitem = tbl_poitem
poitemx = tbl_poitemx.
READ TABLE tbl_return WITH KEY type = 'E'.
*<--- Bapi to commit the changes
IF sy-subrc <> 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
ENDIF.
LOOP AT tbl_return.
*<--- Ignore the warning messages
IF tbl_return-type = 'W'.
CONTINUE.
ENDIF.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
IF tbl_return-type = 'S'.
FORMAT COLOR COL_POSITIVE ON.
ELSEIF tbl_return-type = 'W'.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
ELSEIF tbl_return-type = 'E'.
FORMAT COLOR COL_NEGATIVE INTENSIFIED OFF.
ENDIF.
WRITE:/3 tbl_return-type,12 tbl_return-id,20(85) tbl_return-message
86(10) tbl_return-field,95(20) tbl_return-system.
FORMAT COLOR OFF.
ENDLOOP.
ENDFORM. " create_purhase_order
*& Form get_open_quantities
text
--> p1 text
<-- p2 text
FORM get_open_quantities .
CHECK NOT it_mard[] IS INITIAL.
SELECT ekkoebeln ekpoebelp ekpowerks ekpomatnr
ekpomenge eketetenr eket~wemng
INTO CORRESPONDING FIELDS OF TABLE it_po
FROM ekko AS ekko
INNER JOIN ekpo AS ekpo
ON ekpoebeln EQ ekkoebeln
INNER JOIN eket AS eket
ON eketebeln EQ ekpoebeln AND
eketebelp EQ ekpoebelp
FOR ALL ENTRIES IN it_mard
WHERE ekko~bstyp EQ 'F' AND
ekko~bsart EQ 'Z3' AND
ekko~bsakz EQ 'T' AND
ekko~loekz EQ space AND
ekpo~matnr EQ it_mard-matnr AND
ekpo~werks EQ it_mard-werks AND
ekpo~loekz EQ space AND
ekpo~elikz EQ space.
SORT it_po BY ebeln ebelp etenr.
delete entries where the schedule is complete, else copy to new table
LOOP AT it_po.
IF it_po-wemng GE it_po-menge.
DELETE it_po.
ELSE.
MOVE-CORRESPONDING it_po TO it_po_2.
APPEND it_po_2.
CLEAR it_po_2.
ENDIF.
ENDLOOP.
SORT it_po_2 BY matnr werks.
To determine the pending quantities of the materials at plant level
LOOP AT it_po_2.
AT NEW werks.
it_po_pend-matnr = it_po_2-matnr.
it_po_pend-werks = it_po_2-werks.
ENDAT.
it_po_pend-pendi = it_po_pend-pendi + it_po_2-menge - it_po_2-wemng.
AT END OF werks.
APPEND it_po_pend.
CLEAR it_po_pend.
ENDAT.
ENDLOOP.
ENDFORM. " get_open_quantities
*& Form determine_mat_qty_required
text
--> p1 text
<-- p2 text
FORM determine_mat_qty_required .
DATA: lv_eisbe LIKE marc-eisbe,
lv_labst LIKE mard-labst,
lv_menge LIKE eket-menge,
lv_bstmi_old LIKE marc-bstmi,
lv_bstrf_old LIKE marc-bstrf,
lv_beskz_old LIKE marc-beskz,
lv_sobsl_old LIKE marc-sobsl,
lv_pendi LIKE eket-menge,
lv_total_conf LIKE ekpo-menge,
lv_bstmi LIKE marc-bstmi,
lv_min_qty LIKE marc-bstmi,
lv_bstrf LIKE marc-bstrf,
lv_min_qty LIKE marc-bstrf,
lv_qty_req LIKE mard-labst,
lv_remainder TYPE i.
LOOP AT it_marc.
safety stock
lv_eisbe = it_marc-eisbe.
lv_bstmi_old = it_marc-bstmi.
lv_bstrf_old = it_marc-bstrf.
lv_beskz_old = it_marc-beskz.
lv_sobsl_old = it_marc-beskz.
READ TABLE it_mard
WITH KEY matnr = it_marc-matnr
werks = it_marc-werks
BINARY SEARCH.
IF sy-subrc EQ 0.
qty onhand
lv_labst = it_mard-labst.
ELSE.
CLEAR lv_labst.
ENDIF.
READ TABLE it_po_pend
WITH KEY matnr = it_marc-matnr
werks = it_marc-werks
BINARY SEARCH.
IF sy-subrc EQ 0.
PO pending qty
lv_pendi = it_po_pend-pendi.
ELSE.
CLEAR lv_pendi.
ENDIF.
Total qty on hand & PO qty pending
lv_total_conf = lv_labst + lv_pendi.
Now determine if a PO is required for the material concerned.
IF lv_total_conf < lv_eisbe.
it_sto-matnr = it_marc-matnr.
it_sto-werks = it_marc-werks.
it_sto-eisbe = lv_eisbe.
it_sto-bstmi = lv_bstmi_old.
it_sto-bstrf = lv_bstrf_old.
it_sto-beskz = lv_beskz_old.
it_sto-sobsl = lv_sobsl_old.
it_sto-labst = lv_labst.
it_sto-pendi = lv_pendi.
Actual Qty Required
lv_qty_req = lv_eisbe - lv_total_conf.
IF it_marc-bstmi IS INITIAL.
IF it_marc-bstrf IS INITIAL.
it_sto-orqty = lv_qty_req.
ELSE.
lv_bstmi = it_marc-bstmi.
lv_min_qty = it_marc-bstmi.
lv_bstrf = it_marc-bstrf.
lv_min_qty = it_marc-bstrf.
DO.
IF lv_qty_req <= lv_min_qty.
lv_qty_req = lv_min_qty.
it_sto-orqty = lv_qty_req.
EXIT.
ELSE.
lv_min_qty = lv_min_qty + lv_bstmi.
lv_min_qty = lv_min_qty + lv_bstrf.
ENDIF.
ENDDO.
ENDIF.
APPEND it_sto.
CLEAR it_sto.
ENDIF.
ENDLOOP.
SORT it_sto BY werks matnr.
ENDFORM. " determine_mat_qty_required
*& Form print_details
text
--> p1 text
<-- p2 text
FORM print_details .
LOOP AT it_sto.
WRITE:/ it_sto-werks UNDER text-h01,
it_sto-matnr UNDER text-h02,
it_sto-orqty UNDER text-h03,
it_sto-eisbe UNDER text-h04,
it_sto-bstmi UNDER text-h05,
it_sto-bstrf UNDER text-h05,
it_sto-labst UNDER text-h06,
it_sto-pendi UNDER text-h07.
ENDLOOP.
ENDFORM. " print_details
*& Form print_header
text
--> p1 text
<-- p2 text
FORM print_header .
WRITE: AT 001 text-h01,
015 text-h02,
030 text-h03,
050 text-h04,
070 text-h05,
090 text-h06,
110 text-h07.
030 text-h03 RIGHT-JUSTIFIED,
050 text-h04 RIGHT-JUSTIFIED,
070 text-h05 RIGHT-JUSTIFIED,
090 text-h06 RIGHT-JUSTIFIED,
110 text-h07 RIGHT-JUSTIFIED.
NEW-LINE.
ENDFORM. " print_header
*& Form create_po
text
--> p1 text
<-- p2 text
FORM create_po .
*-Document date with flag
ws_poheader-doc_date = sy-datum.
ws_poheaderx-doc_date = ws_flg.
*-Document type with flag
ws_poheader-doc_type = 'Z3'(c01).
ws_poheaderx-doc_type = ws_flg.
*-Purchasing group with Flag
ws_poheader-pur_group = '005'. " hardcoded
ws_poheaderx-pur_group = ws_flg.
*-Purchasing Organization with flag
ws_poheader-purch_org = '2000'.
ws_poheaderx-purch_org = ws_flg.
*-Supply plant with flag
ws_poheader-suppl_plnt = '2000'.
ws_poheaderx-suppl_plnt = ws_flg.
*-Company Code with flag
ws_poheader-comp_code = '2000'.
ws_poheaderx-comp_code = ws_flg.
LOOP AT it_sto.
AT NEW werks.
CLEAR tbl_poitem.
CLEAR tbl_poitemx.
CLEAR tbl_return.
CLEAR tbl_posched.
CLEAR tbl_poschedx.
REFRESH tbl_poitem.
REFRESH tbl_poitemx.
REFRESH tbl_return.
REFRESH tbl_posched.
REFRESH tbl_poschedx.
CLEAR ws_posnr.
ENDAT.
ws_posnr = ws_posnr + 10.
Item Data
tbl_poitem-po_item = ws_posnr.
tbl_poitem-material = it_sto-matnr.
tbl_poitem-item_cat = 'U'(c02).
tbl_poitem-plant = it_sto-werks.
tbl_poitem-quantity = it_sto-orqty.
APPEND tbl_poitem.
CLEAR tbl_poitem.
Item X Data
tbl_poitemx-po_item = ws_posnr.
tbl_poitemx-po_itemx = ws_flg.
tbl_poitemx-material = ws_flg.
tbl_poitemx-plant = ws_flg.
tbl_poitemx-item_cat = ws_flg.
tbl_poitemx-quantity = ws_flg.
APPEND tbl_poitemx.
CLEAR tbl_poitemx.
Schedule Data
tbl_posched-po_item = ws_posnr.
tbl_posched-sched_line = '0001'.
tbl_posched-delivery_date = sy-datum.
tbl_posched-quantity = it_sto-orqty.
APPEND tbl_posched.
CLEAR tbl_posched.
Schedule Data X
tbl_poschedx-po_item = ws_posnr.
tbl_poschedx-po_itemx = ws_flg.
tbl_poschedx-sched_line = '0001'.
tbl_poschedx-sched_linex = ws_flg.
tbl_poschedx-delivery_date = ws_flg.
tbl_poschedx-quantity = ws_flg.
APPEND tbl_poschedx.
CLEAR tbl_poschedx.
AT END OF werks.
Create the PO
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = ws_poheader
poheaderx = ws_poheaderx
IMPORTING
exppurchaseorder = ws_purchaseorder
TABLES
return = tbl_return
poitem = tbl_poitem
poitemx = tbl_poitemx
poschedule = tbl_posched
poschedulex = tbl_poschedx.
LOOP AT tbl_return WHERE type EQ 'E' OR type EQ 'A'.
EXIT.
ENDLOOP.
If Loop is false - then no error occurred
IF sy-subrc NE 0.
No Errors - Commit
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
SKIP.
LOOP AT tbl_return.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
IF tbl_return-type = 'E' OR tbl_return-type = 'A'.
FORMAT COLOR COL_NEGATIVE INTENSIFIED OFF.
ELSEIF tbl_return-type = 'W'.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
ELSE.
FORMAT COLOR COL_POSITIVE ON.
ENDIF.
WRITE:/3 tbl_return-type,12 tbl_return-id,20(85)
tbl_return-message,
86(10) tbl_return-field,95(20) tbl_return-system.
FORMAT COLOR OFF.
ENDLOOP.
ENDAT.
ENDLOOP.
ENDFORM. " create_poHi,
first you can store these 2 dates into some internal table sat it_sobid and it_ObjectID.Now
sort it_sobid ascending.
loop at it_ObjectID.
Read date from it_sobid binary search index sy-index.
it_ObjectID-date = it_sobid-date.
flag = 'y'.
endloop.
you can write some logic like this. Its just a rough idea you can modify according to ur need.
Regards,
Ravi -
Need ABAP help for the logic in C_T_DATA
Hi
I have a scenario where I need to write ABAP in CMOD for the c_t_data which appears as below:
St Dt(sobid) Enddt(sobid) Sobid ObjectID St Dt(ObjectID) Enddt(ObjectID)
21.08.09 27.08.09 34567 40001 23..09.09 29.09.09
21.08.09 27.08.09 34567 40002 24..09.09 29.09.09
21.08.09 27.08.09 34567 40003 25..09.09 29.09.09
21.08.09 27.08.09 34567 40004 26..09.09 29.09.09
21.08.09 27.08.09 34567 40005 27..09.09 29.09.09
I need to compare all the Start dates of the object ID for every Sobid with the start date of Sobid field and need to set the flag if any of the start dates of object id is different from the Sobid Start date.
Please advise what would be the best way to write the ABAP.
Thanks in advance.Hi,
first you can store these 2 dates into some internal table sat it_sobid and it_ObjectID.Now
sort it_sobid ascending.
loop at it_ObjectID.
Read date from it_sobid binary search index sy-index.
it_ObjectID-date = it_sobid-date.
flag = 'y'.
endloop.
you can write some logic like this. Its just a rough idea you can modify according to ur need.
Regards,
Ravi -
Need help for the following select query-- illegal character
select product_group_id from product_group where description like '%%'
I am not able to identify this character.
When I try to type this character at
SQL prompt, it does not accepts it.
This character is in the description field and I have to replace it with NULL..
Any suggestions..
Thanks in advance
nullI'm not sure about the character you are talking about. But if you find this character in the ASCII character set, you can do all the operation against it with the help of CHR() function.
-
I need standard programs for the following
hi,
i need standard programs (if any) available for these..
Incomplete Order for CUSt & Mat
Display Order On Hand
Deliveries To Be Confirm
Sales Order On Hand
helpful replies will be rewardedHi Amit,
For deliveries check the followings txn :
VL10A Sales Orders Due for Delivery
VL10B Purchase Orders Due for Delivery
VL10C Order Items Due for Delivery
VL10D Purch. Order Items due for Delivery
VL10E Order Schedule Lines due for Deliv.
VL10F PurchOrd Schedule Lines due for Dlv.
VL10G Documents due for Delivery
VL10H Items Due for Delivery
VL10I Schedule Lines due for Delivery
VL10U Cross-System Deliveries
Check Also :
VA05 List of Sales Orders
VA07 Compare Sales - Purchasing (Order)
VA08 Compare Sales - Purchasing (Org.Dt.) -
Hi Everyone,I need your help for Recovery as I face APPCRASH issue :(
Hi,
since I bought my laptop I noticed that no application of Cyberlink was working like DVD Suite or Power2go.But I did not pay attention to that.
But nowafter one and hal years when I want to refresh my laptop by using Recovery Manager and recovery Disc Creation, it is giving me same APPCRASH error as it has been giving for Power2go or DVD Suite.
F11 does not work as well it says something like drive is inaccessible or software/hardware issue...
Still my laptop is fine but a little heavy that s why I wanted to refresh it
No hardware or sofware changes were made ever.
Laptop specs. are:
HP Pavilion dv4i 2100, Notebook PC
Serial # {Removed for privacy}
Product # VN673AV
Warranty has been expired
At HP website regarding this issue they say to turn on wireless before Recovery but it does not work for me.
Please anyone HELP me out please.
waiting anxiously for any positive reply!!!
Kind Regards,
JawwadI did exactly as I described in my loaner Envy17-3002ea's Disk management. see the image
****Please click on Accept As Solution if a suggestion solves your problem. It helps others facing the same problem to find a solution easily****
2015 Microsoft MVP - Windows Experience Consumer
Maybe you are looking for
-
Labeling on a photo - Is there a program that works with iPhoto?
I have a Mac Book Pro system 10.8.5. I want to put a description directly on some photos in iPhoto but not on all of them. I have used photogenie on my iPad but want something similar for my Mac. Any recommendations?
-
Dear All, I have a table with 2 rows and one has varchar type data and the other is the time stamp (04/02/2013 19:44:40). Now I want to write a query to count number of rows per hour in the table with date ...strcutre is as follows : ddata varchar2(2
-
We use SCCM 2012 and SCUP 2011. One question... When you install a workstation (running the task sequence) can you install a full version of Adobe Flash Player from SCUP or only update it through the task sequence? Ergo, do we need to have the latest
-
Safari 4 won't istall on leopard
I installed leopard and then I went to get the latest Safari for leopard. I downloaded the package, clicked on "install" and it says "safari can't be installed on this drive because this version of safari must be installed on version 10.5.8 or later.
-
Duplicate entries in table & email count
hi,, In my selection screen i have 3 fields- billing doc--vbeln customer no--kunnr email id - when i give inputs in this selection screen fields and execute it mail is sent and the inputs given for the fields are stored in a ZTABLE. my requirement is