Transfer Posting - Very Urgent.
Dear gurus
I need help against to transfer stock from one plant to another plant through STO in SAP (Further STN (313 & 315)). Could anybody pl send me T-Code for that & further postings required to place that material in unrestricted are of other plant location.
regds
dev.,,!
Hi
Pl.follow the foll. steps for crating 2 types of STO....with Delivery
1) Intra-Company STO: STO bet Plants belongs to Same Company Code:
1)Create one Customer for Supplying Plant Sales area and assign this Customer no with Receiving Plant in OLME---> PO -
> Set up STO -
> define Shipping Data for plants. and maintain the same sales area in your Supplying plant.
2) In OLME---> PO -
> Set up STO.....for your Document Type: UB and Suppying plant Combination assign Del. Type NL and Checking rule RP
3) In OLME---> PO -
> Set up STO...for your Supplying Plant and Receiving Plant combination Maintain Doc. Type : UB
Make sure you are maintaining Sales View for your Material at Supplying Plant.
4) Maintain Shipping point at, SPRO----> Logistics Execution -
> Shipping -
> Basic Shipping Functions -
> Shipping Point Determination for Plants.....there for your Loading group,Shipping Condition, Shipping Plant combination maintain Shipping plant..
Now Create STO in ME21N with Doc.type: UB at Receiving Plant.
Then Create Delivery in VL10B from Supplying Plant...
Then Do PGI in VL02N from supplying Plant.
Then do GR at Receiving Plant based on Outbound Delivery at Receiving Plant...
Follow the below steps to to make STO between two plants ( different company company codes).It is also called as Inter Company STO.....
1)Create one Customer Master in XD01 with respect to Supplying Plant Sales Area and assign this Customer no with Receiving Plant in OLME->PO-> set up STO->Define shipping data for plant and for the supplying Plant assign the above sales area.( Make sure,In Customer Master,sales Area Tab: you are maintaining shipping condition)
2) For Receiving Plant Pur. Org and Co.Code Combination create Vendor master in XK01 and in this vendor master assign the Supplying plant in Pur.Org.Data screen->Extras--> Add.Pur.data
3) OLME->PO-> Set up STO------>For your supplying plant assign document type NB, Delivery type NLCC and Checking Rule RP
4)then For your supplying Plant and receiving Plant assign Document type NB
5)Make sure you are maintaining Sales View for the material at supplying Plant and in Sales /Gen plant Data view maintain Availability check, Loading group and Transportation group.
6) In SPRo-->Logistics execution> Shipping->Basic shipping functions->Shipping point Determination>assign shipping points-> For your Loading group,Shipping Condition and Supplying plant combination,Assign shipping point
these are the configuration settings you have to do in background.
Then Create STO from Receing Plant in ME21N with document type NB.
Based on that STO, Create Delivery in VL10B from supplying Plant
Do PGI in VL02N from Supplying plant
Do GR in MIGO at Receiving Plant keeping Outbound delivery as a ref. document.
Now your STO bet. two plants belongs to diff. Co.Codes will be completed.
Reward if useful
Regards
S.Baskaran
Similar Messages
-
Mb1b Transfer posting problem (urgent)
hello
i m using movement type 309.
in the second screen they are entering batch..so based on that batch i m getting matnr and quantity in that batch.
In my ZBAPI ..
SELECT matnr clabs FROM mchb
INTO TABLE it_mb1b
WHERE werks = plant
AND lgort = send_stloc
AND charg = batch.
In the second line item..They are entering scrap material which the data has to get from MARD table. There is no batch exists for this second line item.
i m writing query to get the data from mard like this:-
SELECT matnr labst FROM mard
INTO CORRESPONDING FIELDS OF TABLE it_mard
WHERE matnr LIKE '%-SCRAP'
AND werks = plant
AND lgort = '2200'.
So, how to fill this second line item in BAPI.
For the first line item i m using it_gmitem-entry_qnt in the BAPI item list. This is for the first item in second screen.
Similarly how to fill the second line item in BAPI_GOODSMVT_CREATE.FUNCTION zbapi_mb1b_new.
""Local interface:
*" IMPORTING
*" VALUE(MOVE_TYPE) LIKE BAPI2017_GM_ITEM_CREATE-MOVE_TYPE DEFAULT
*" '309'
*" VALUE(PLANT) LIKE BAPI2017_GM_ITEM_CREATE-PLANT DEFAULT '2000'
*" VALUE(SEND_STLOC) LIKE BAPI2017_GM_ITEM_CREATE-STGE_LOC
*" VALUE(RECV_STLOC) LIKE BAPI2017_GM_ITEM_CREATE-MOVE_STLOC
*" VALUE(MOVE_PLANT) LIKE BAPI2017_GM_ITEM_CREATE-MOVE_PLANT
*" DEFAULT '2000'
*" VALUE(BATCH) LIKE BAPI2017_GM_ITEM_CREATE-BATCH
*" VALUE(QUAN_MEASURE) LIKE BAPI2017_GM_ITEM_CREATE-QUANTITY
*" EXPORTING
*" VALUE(MAT_DOC) LIKE BAPI2017_GM_HEAD_RET-MAT_DOC
*" TABLES
*" RETURN STRUCTURE BAPIRET2
DATA : ls_quan1 TYPE p DECIMALS 3,
ls_quan2 TYPE p DECIMALS 3,
ls_quan3 TYPE p DECIMALS 3,
ls_quan4 TYPE p DECIMALS 3,
ls_quan5 TYPE p DECIMALS 3,
ls_quan6 TYPE p DECIMALS 3.
DATA : it_mard LIKE mard OCCURS 0 WITH HEADER LINE.
gmhead-pstng_date = sy-datum. "Posting date defaulted to system date
gmhead-doc_date = sy-datum. "Document date defaulted to system date
gmcode-gm_code = '04'. "Transfer Posting (MB1B)
SELECT matnr clabs FROM mchb
INTO TABLE it_mb1b
WHERE werks = plant "Plant
AND lgort = send_stloc "Storage location
AND charg = batch. "Batch Number
SELECT matnr labst FROM mard
INTO CORRESPONDING FIELDS OF TABLE it_mard
WHERE matnr LIKE '%-SCRAP'
AND werks = plant "Plant
AND lgort = '2200'. "2094 in production
LOOP AT it_mb1b INTO wa_mb1b.
ls_quan2 = ( 5 / 100 ) * wa_mb1b-clabs.
ls_quan3 = wa_mb1b-clabs + ls_quan2.
ls_quan4 = wa_mb1b-clabs - ls_quan2.
IF ( quan_measure EQ wa_mb1b-clabs ).
ls_quan6 = wa_mb1b-clabs.
ELSEIF ( quan_measure > wa_mb1b-clabs AND quan_measure <= ls_quan3 ).
ls_quan5 = quan_measure - wa_mb1b-clabs. "difference
READ TABLE it_mard WITH KEY matnr0(3) = wa_mb1b-matnr0(3).
IF sy-subrc EQ 0.
it_mard-labst = it_mard-labst - ls_quan5.
MODIFY it_mard TRANSPORTING labst WHERE
matnr0(3) = wa_mb1b-matnr0(3).
ELSE.
ENDIF.
MODIFY mard FROM TABLE it_mard.
CLEAR it_mard.
ls_quan6 = wa_mb1b-clabs + ls_quan5.
ELSEIF ( quan_measure < wa_mb1b-clabs AND quan_measure <= ls_quan4 ).
ls_quan5 = wa_mb1b-clabs - quan_measure.
it_mard-labst = it_mard-labst + ls_quan5.
MODIFY it_mard TRANSPORTING labst WHERE
matnr0(3) = wa_mb1b-matnr0(3).
MODIFY mard FROM it_mard.
ls_quan6 = wa_mb1b-clabs.
ENDIF.
it_gmitem-move_type = move_type. "Movement type
it_gmitem-plant = plant. "Plant
it_gmitem-stge_loc = send_stloc. "Storage Location
it_gmitem-move_plant = move_plant. "Receiving Plant
it_gmitem-move_stloc = recv_stloc. "Receiving storage location
it_gmitem-batch = batch. "Batch Number
it_gmitem-material = wa_mb1b-matnr. "Material Number
it_gmitem-move_mat = wa_mb1b-matnr. "Receiving/issuing material
it_gmitem-entry_qnt = ls_quan6. "Quantity in unit of entry
APPEND it_gmitem.
ENDLOOP.
CLEAR return.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = gmhead
goodsmvt_code = gmcode
TESTRUN = 'X'
IMPORTING
GOODSMVT_HEADRET =
materialdocument = mat_doc
MATDOCUMENTYEAR =
TABLES
goodsmvt_item = it_gmitem
GOODSMVT_SERIALNUMBER =
return = return
IF NOT mat_doc IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
RETURN =
ELSE.
ENDIF.
ENDFUNCTION. -
Http Post(very urgent)
hi all,
i have a problem with posting a http request..
the problem is i coudnt set the Content-length , and coulnt found a way
to do it so here is the code sample, pls notify me...
httpCon = (HttpConnection)Connector.open(url);
httpCon.setRequestMethod(HttpConnection.POST);
httpCon.setRequestProperty("Host","http://blablabla:port");
httpCon.setRequestProperty("Content-Length","450");
this.out = new DataOutputStream(httpCon.openOutputStream());
out.write(out_bytes);
the problem is not with the outputstream stuff i think, because on the servlet side, when i debug the post method of servlet, always contentlength is zero. So how can i set the content length..
waitin for an answer....nice to see u again,
i ve already done the thing u said but got no different response,
thats why i set a string "450" just to see if i can change the clength at the servlet..The problem is i need this request.getContentLength at the servlet.. but found no way to set at the client side.i tried connectin with streamconnection andwriting
out.write(("POST "
+ MMSClient.getInstance().getMMSCRoot()
+ " HTTP/1.1\r\nHost: "
+ MMSClient.getInstance().getMMSCHost()
+ ":"
+ MMSClient.getInstance().getMMSCPort()
+ "\r\nContent-Type: application/vnd.wap.mms-message\r\n"
+ "Content-Length:"
+ Integer.toString(out_bytes.length)
+ "\r\n\r\n").getBytes());
out.write(out_bytes);
and flushed(or sometimes not flushed)
then closed but this time i fall into the Get method at the servlet...
so is there any way to get rid of this situation..
I thing this is a commonproblem but i dont know how to handle??*** -
Batch has already been posted in stock **very urgent**
Dear all,
My user has created a delivery for excess quantities. He had to deliver only 4 where he has done the PGI for 24. I thought I would reverse it with transaction VL09, but when I click on reverse this error "Batch has already been posted in stock" pops up. What might be the reason?
Invoice is not created against this delivery **
Please anyone throw some light on this and also if any other options to reverse goods movement. And can I reverse only part quantity?
Thanks in advance and its very urgent.
RegardsHi,
well actually he is doing the partial deliveries for a order and these are all backdated entries. They havent gone live yet. The order Qty was for 40 out of which he had delivered 4 earlier and when he went to do a delivery again, he saw that stock available was only for 24 qty. and he did the PGI for whole
thats how he delivered for 24. I hope its clear now.
Thanks for the answer. will see if changing the error to warning will work.
this actually had come into my mind but was not sure as to what would be the impact.
Rish.k -
Transfer Posting- Urgent Plssssssssssssssss
Hi Gurus,
How to do transfer posting using the below funtion modules.
what are the feilds should we pass to do transfer posting.
<b>MB_CREATE_GOODS_MOVEMENT</b>
<b>MB_POST_GOODS_MOVEMENT</b>Hi Gurus,
How to do transfer posting using the below funtion modules.
what are the feilds should we pass to do transfer posting.
<b>MB_CREATE_GOODS_MOVEMENT</b>
<b>MB_POST_GOODS_MOVEMENT</b> -
Problem with the EP6 SP10 Patch 1 Post Install (VERY URGENT)
Hello,
My installation seems to be well done.
But when I try to do the first connection on the portal, I sign-in the system and it returns errors like :
"Portal Runtime error
An exception occurred while processing a request for :
iView : pcd:portal_content/every_user/general/defaultDesktop/frameworkPages/frameworkpage
Component Name : com.sap.portal.pagebuilder.pageBuilder
The exception was logged. Inform your system administrator..
Exception id: 04:29_01/02/05_0003_7226250
See the details for the exception ID in the log file"
Is there one of you who can help me to solve my problem.
It is very urgent
Thanks in advance
Regards
HumbertHello,
The console logs contain no information bout my problem but I looked in the directory :
e:\usr\sap\DP1\DVEBMGS00\work and here is the contain of the file std_server0.out
PatchLevel 88028.313 December 22, 2004 20:48 GMT
> service DQE ================= ERROR =================
Feb 2, 2005 11:03:28 AM ...Thread.SingleThread.run().OutOfMemory [SAPEngine_System_Thread[impl:5]_63] Fatal:
Feb 2, 2005 11:03:28 AM ...Thread.SingleThread.run().OutOfMemory [SAPEngine_System_Thread[impl:5]_53] Fatal:
Feb 2, 2005 11:03:28 AM ...Thread.SingleThread.run().OutOfMemory [SAPEngine_System_Thread[impl:5]_50] Fatal:
Feb 2, 2005 11:03:30 AM ...Thread.SingleThread.run().OutOfMemory [SAPEngine_System_Thread[impl:5]_30] Fatal:
stdout/stderr redirect
node name : server0
pid : 1820
system name : DP1
system nr. : 00
started at : Wed Feb 02 11:03:37 2005
CompilerOracle: exclude com/sapportals/portal/pb/layout/taglib/ContainerTag addIviewResources
CompilerOracle: exclude com/sap/engine/services/keystore/impl/security/CodeBasedSecurityConnector getApplicationDomain
CompilerOracle: exclude com/sap/engine/services/rmi_p4/P4StubSkeletonGenerator generateStub
CompilerOracle: exclude com/sapportals/portal/prt/util/StringUtils escapeToJS
CompilerOracle: exclude iaik/security/md/SHA a
CompilerOracle: exclude com/sapportals/portal/prt/core/broker/PortalServiceItem startServices
CompilerOracle: exclude com/sap/engine/services/webservices/server/deploy/WSConfigurationHandler downloadFile
CompilerOracle: exclude com/sapportals/portal/prt/jndisupport/util/AbstractHierarchicalContext lookup
SAP J2EE Engine Version 6.40 PatchLevel 88028.313 is starting...
Loading: LogManager ... 609 ms.
Loading: PoolManager ... 0 ms.
Loading: ApplicationThreadManager ... 94 ms.
Loading: ThreadManager ... 15 ms.
Loading: IpVerificationManager ... 16 ms.
Loading: ClassLoaderManager ... 15 ms.
Loading: ClusterManager ... 250 ms.
Loading: LockingManager ... 63 ms.
Loading: ConfigurationManager ... 1031 ms.
Loading: LicensingManager ... 31 ms.
Loading: ServiceManager ...
Loading services.:
Service runtimeinfo started. (78 ms).
Service cross started. (125 ms).
Service file started. (125 ms).
Service timeout started. (125 ms).
Service memory started. (156 ms).
Service jmx_notification started. (203 ms).
Service trex.service started. (266 ms).
Service userstore started. (31 ms).
Service tcsecvsi~service started. (297 ms).
Service p4 started. (343 ms).
Service classpath_resolver started. (16 ms).
Service tcsecwssec~service started. (390 ms).
Service deploy started. (2656 ms).
Service apptracing started. (172 ms).
Service log_configurator started. (8031 ms).
Service locking started. (0 ms).
Service http started. (172 ms).
Service naming started. (297 ms).
Service failover started. (62 ms).
Service ts started. (109 ms).
Service appclient started. (140 ms).
Service javamail started. (156 ms).
Service licensing started. (16 ms).
Service jmsconnector started. (172 ms).
Service connector started. (234 ms).
Service configuration started. (16 ms).
Service webservices started. (578 ms).
Service dbpool started. (5343 ms).
Service com.sap.security.core.ume.service started. (2547 ms).
Service security started. (2203 ms).
Service classload started. (109 ms).
Service applocking started. (156 ms).
Service shell started. (344 ms).
Service tceCATTPingservice started. (47 ms).
Service telnet started. (78 ms).
Service keystore started. (516 ms).
Service ssl started. (16 ms).
Service webdynpro started. (172 ms).
Service tcsecsecurestorage~service started. (109 ms).
Service ejb started. (781 ms).
Service servlet_jsp started. (813 ms).
Service dsr started. (343 ms).
Service tcsecdestinations~service started. (141 ms).
Service rfcengine started. (109 ms).
Service jmx started. (829 ms).
Service pmi started. (203 ms).
Service prtbridge started. (688 ms).
Service basicadmin started. (703 ms).
Service adminadapter started. (93 ms).
Service sld started. (1234 ms).
Service monitor started. (672 ms).
Service com.sap.portal.prt.sapj2ee started. (109 ms).
Excluding compile: iaik.security.md.SHA::a
Service jms_provider started. (2954 ms).
service DQE ================= ERROR =================
Service tc.monitoring.logviewer started. (4266 ms).
ServiceManager started for 26532 ms.
Framework started for 28844 ms.
SAP J2EE Engine Version 6.40 PatchLevel 88028.313 is running!
PatchLevel 88028.313 December 22, 2004 20:48 GMT
> service DQE ================= ERROR =================
Regards
Humbert -
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 -
Badi's on vi01. Pls Its very urgent
Hi Experts,
I have given the requirement below I am not aware of badi's. Pls tell me the info about Business event 1120P. And also post the coding for this functionality . Its very urgent
Enhancement Summary
Two user exits are needed to determine the correct G/L Account and Cost Center on Shipment Cost documents and post the Material Group on the Accounting document. BADI_SCD_ACCTG and Business Event 1120P can be used to accommodate the new functionality.
Business Process
Specific G/L Accounts and Cost Centers have to be determined to post on the Shipment Cost document. This is needed to provide accurate management reporting capabilities on shipments for Sales Order or Stock Transfer Order. A new custom table must be created which contains the following information: Distribution, Mode of Transport, Account, Cost Center Material group. Distribution is an identifier here if this shipment originated from an SO or STO.
There are no screens involved in this enhancement.
Components
Table: ZTABLE1
Field Data Element Type Length Description
MANDT MANDT CLNT (key) 3 Client
DISTRIBUTION Z_DISTRIBUTION CHAR (key) 1 Distribution
MOT ZZDEF_MOT CHAR (key) 2 Mode of Transportation
MATKL MATKL CHAR (key) 9 Material group
SAKNR SAKNR CHAR 10 G/L Account Number
KOSTL KOSTL CHAR 10 Cost Center
This table gets updated manually by the FI team.
Values for Distribution are:
1 = Primary Distribution to Refinery
2 = Primary and Secondary Excluding refinery
All entries must be checked against SAP config and master tables
User exit BADI BADI_SCD_ACCTG will be used to determine the correct G/L Account, Cost Center and Product Group based on Distribution and Mode of Transport. This BADI gets called only when a new Shipment Cost document get created.
Once the BADI determined the new values it populates field c_vfkn-sakto with the G/L account, field c_vfkn-kostl with the Cost Center and exports the Product group to memory.
There is no field on the Shipment Cost Document to store the Product group. Therefore another mechanism must be used to get the Product Group on the accounting document.
Business Event 1120P can be used to import the Product group out of memory and put it on BSEG-MATNR. Structure BSEG_SUBST must be enhanced with field MATNR for this purpose.
Function, Rules, Exits Description of Functionality, Rules, Exits
BADI_SCD_ACCTG Business Add-In for Shipment Cost Account Assignment
Business Framework Business Event 1120P can be used to import the Product Group from memory and to populate field BSEG_SUBST-MATNR.
This event gets called from different places. It needs to be ensured that it only populates the value when it was called from BADI_SCD_ACCTG.
Custom Table A look-up Table needs to be maintained for Distribution, Mode of Transport, G/L Account, Cost Center and Material Group
Transaction code To maintain the new table
Append Structure To enhance structure BSEG_SUBST with MATNR
Business Add-In BADI_SCD_ACCTG can be used to determine the account assignments for a shipment cost item to set the G/L Account and Cost Center. All data needed to determine the new information gets provided in this BADI.
Logic:
Determine if STO or SO based on Document Category from internal table I_REFOBJ-VTRLP field VGTYP If is C then Distribution type is Sales Order (Primary and Secondary Excluding Refinery 2 ) else we need to check the receiving plant. If the receiving plant (I_REFOBJ-VTRLK field WERKS) is a refinery the Distribution type is Primary (1) else its a (Primary and Secondary Excluding Refinery 2 ). Refineries can be identified via Function Module Z_M_GET_PLANTCLASSIFICATION. The plant must be passed into Import Parameter IP_SAPPLANT and field INT_PLANTCHAR-ATNAM must be looked up with value SAPTYPE. If it exists and field ATWRT contains RFY, the plant is a refinery.
Product Group can be determined from the Material master through Material group field MARA-MATKL.
Mode of Transport will be passed in the BADI in VTRLK-OIC_MOT.
Select single entry from table ZTABLE1based on Distribution, Mode of Transport and Material Group. If nothing gets selected, error message No entry exists in table ZTABLE1for Distribution (distribution), MOT (MOT) & Mat. Group (material group) should be triggered.
Move ZTABLE1-SAKNR to c_vfkn-sakto and ZTABLE1-KOSTL to c_vfkn-kostl
The Material group must be exported to memory in BADI_SCD_ACCTG
The Material group must be imported from memory in Business Event BP1120P
Free Memory in Business Event BP1120P
This is VI01 Creation of Freight Cost Item screencheck the reply of ur Same Post .
regards
prabhu -
Error 12 While Transporting - Very Urgent
Hi all,
we are transporting objects from Development to Production and we are facing with an error,
Transfer structure 0UC_AKLASSE_TEXT_BB does not exist
Error RSAR 440 when handling objects with type R3TR ISTS
Start of the after-import method for object type R3TR ISIP (Activation Mode)
Start of the after-import method for object type R3TR ISIP (Delete Mode)
tried solving this problem by retransporting and by activating the structure in RS_TRANSTRU_ACTIVATE_ALL as mentioned in few posts, still we are getting the same error, unable to find out the root cause, please help me in solving this is very urgent.
Thanks in Advance,
Sai..,Hi Edwin,
I have gone through that note already no much information available there its mentioned about service package 04 with is already available in our system, as per your second check point source system is mapped fine as we are able to transport remaining objects, actually now we started transporting objects in batch wise selecting few at a time and as its working fine with few, I dont think there is a problem with mapping. and one more error we are getting is
After transporting the objects in Production if we click infopackage,
Caution ! - The transfer method has changed
and in InfoPackage Processing level its showing
Update Data
ALE Inbox and InfoObject
ALE Inbox only
This is happening for few randomly and for others its fine with regualar processing PSA and then in InfoObject....,
Please look into this as well.
Thanks,
Sai. -
Error while opening a module. plz help me, very urgent.
when i try to open a module, the following error message appears on my screen.
" no j2ee component found in d:\krisp\programs\servlets".
i've installed bea in c: drive and my servlet program is in d: drive.
plz help me, it's very urgent.Can you provide some more information? What were you doing when this happened?
Can you post the entire error message?
-- Rob
WLS Blog http://dev2dev.bea.com/blog/rwoollen/ -
How to write code for this logic in a routine, very urgent --help me
hi all,
i want to apply this logic into one subroutin ZABC.
here i m giving my logic ,can any body help me in coding for this, this is very urgent, i hv to submit on wednesday.
4.1 Read the company code number BSEG-BUKRS from document line item.
4.2 Fetch PRDHA from MARA into GV_PRDHA where MATNR = BSEG-MATNR.
4.3 Fetch Business area (GSBER) from ZFIBU into GV_GSBER where (PRDHA = GV_PRDHA and BUKRS = BSEG-BUKRS) OR (PRDHA = GV_PRDHA and BUKRS = SPACE).
4.4 If business area match is found, go to step 3.9. Else continue.
4.5 If BKPF-BLART IN set ZVS_POSDT OR BKPF-XBLNR starts with I0*, execute steps below. Else, go to Step 3.6.
i. MOVE: BSEG-BKURS TO work area field WA_ZFIBUE-BUKRS,
BSEG-MATNR TO work area field WA_ZFIBUE-MATNR,
GV_PRDHA TO work area field WA_ZFIBUE-PRDHA,
BSEG-HKONT TO work area field WA_ZFIBUE-HKONT,
BSEG-GSBER TO work area field WA_ZFIBUE-GSBER,
BSEG-PSWBT TO work area field WA_ZFIBUE-PSWBT,
BKPF-BUDAT TO work area field WA_ZFIBUE-BUDAT,
SY-DATUM TO work area field WA_ZFIBUE-CREDATE,
SY-UZEIT TO work area field WA_ZFIBUE-CRETIME,
Fetch running serial number (WA_ZFIBUE-SERIALNO) from ZFICO. This number will be stored in ZFICO with PARAMTYPE = "BPM030307", SUBTYPE = "ZFIBUE" and KEY1 = "SERIALNO". The actual serial number will be stored in the field VALUE1.
i. Insert WA_ZFIBUE INTO ZFIBUE.
ii. Send email notification to the user (if it is not already sent to user on the same posting date).
Use function module SO_NEW_DOCUMENT_ATT_SEND_API1 to send mail.
Fetch email address and date of last email from ZFICO. These values will be stored in ZFICO with PARAMTYPE = "BPM030307", SUBTYPE = "EMAIL" and KEY1 = "<USERNAME>". The email address will be stored in the field VALUE1 and posting date in VALUE2. Once mail is sent, VALUE2 is updated with latest posting date (BKPF-BUDAT).
iii. Increment the running serial number and update ZFICO with new serial number.
a. GV_ SERIALNO = WA_ZFIBUE-SERIALNO + 1
b. Update ZFICO Set value1 = GV_SERIALNO
Where PARAMTYPE = "BPM030307" AND
SUBTYPE = "ZFIBUE" AND
KEY1 = "SERIALNO".
iv Move VDFT to BSEG-GSBER.
v. Exit routine.
4.6 Fetch MTART into GV_MTART from MARA where MATNR = BSEG-MATNR.
4.7 If SY-BATCH = INITIAL AND GV_MTART <> ROH, issue the error message - Maintain the mapping of product hierarchy <PRDHA> from article <MATNR> for <BUKRS>. Else, go to step 3.8.
4.8 If SY-BATCH <> INITIAL AND GV_MTART <> ROH, issue the error message - Maintain product hierarchy on article master. Go to step 3.10.
4.9 Move GV_GSBER TO BSEG-GSBER.
4.10 Exit Routine
plz give me reply asap --this is very urgent
thanks in advance
swathiHi Swathi,
If it's very very urgent then you better get on with it, don't waste time on the web. Chop chop. -
Update Routine ... Help me Please--VERY URGENT
Hi All ,
I Moving data from Cube to ODS . Let me explain abt the records in the cube .
There are 6 key figures in the cube as well as dimensions, UNIQKEY TRANSACTION is One Dimension and ARTICLE is another dimension which is having an Navigational attribute called CORE ELEMENT.
I am showing the data with those two dimension and the key figures which are to be used in the routine.
Charc----
Key Figures
UNIQKEY-ARTICLE-Coreelement--
billqty
in base unit
A00N----1006330--1--
10.5
A00M -
1006320----2--
2.5
A00P-----1006330--1--
10.5
A00P-----1006320--2--
2.5
A00Q-----1006320--2--
2.5
A00Q-----1006340--3--
10.5
Now Lets see what the core element numbers mean,
core element 1 means -- fuel .
Core elemnet other 1 -- food .
I need to move these data into ODS Which will have an extra field called No of items in the transaction --ITEMS.For this i need to write a routine .
The Logic is ...
1.if Materail is of type 1(Means if the core element - 1)
I need to Populate the No of items in tnx = 1 .--ITEMS.
2.If Material is of type(Means if the core element)2or 3 I need to populate the billing quantity to the no of transcations.--ITEMS
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
So the ODS Data should look like this.
UNIQKEY--billqty--
ITEMS
in base unit
A00N--10.5--
1
A00M--2.5--
2.5
A00P--13--
3.5
A00Q--13--
12.5
NOTE : IN the ODS only the UNIQKEY IS THE KEY FIELD and the rest are DATA FIELDS.
I Posted this one before also. But didnt get proper responses.
I am Pasting the piece of code which I have written . This code will work for the first two records in the cube , But it is failing for the UNIQKEY Transcation having Line items.
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 -
PLease give me ideas on how to acheive this . As I am not Aware of ABAP very well.. PLease try to give me the code. I hope one of you may got the same requirement before.
Its very urgent and I need to deliver it today itself.
Thanks in advance , you can mail me to [email protected]. If anybody intersted to discuss this Issue they can reach at +91 9845922955.Hi ,
While I am moving the data from cube to ods . I need to create the update rules with cube -- 8cube . WHen i am doing this the billqty is a key figure in cube so that is not a problem but the ITEMS is not there in the cube ,SO for that I need to write a routine to populate that one.
Its strange but the user what to analyse with the UNIQKEY transaction. And these objects will be added as navigational attributes to the Characteristic. as it acts as another dimension.
He wants to laod these from ODS to Master data -Characteristic.
to say for each transcation hpw many items are getting sold.
Message was edited by: Nagarjuna Reddy
ONce again thanks for the qucik replies
Message was edited by: Nagarjuna Reddy -
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 -
CAN ANY BODY EXPLAIN THESE QUESTIONS, VERY URGENT
WHAT IS THE USE OF CHAPTER ID, IN CHAPTER ID RATES WILL BE DETERMINES.
HOW MANY TAX CODES NEED CST, LST.
WHERE CAN I SEE EXCISE REGISTER
WHAT IS MEANT BY RG1 CAN ANY BODY EXPLAIN BRIEFLY, WHAT IS THE USE OF RG1
HOW DO I GET OPENING BALANCE FOR EVERY MONTH.
IN DEPOT SALES, IF CREATING EXCISE INVOICE A CERTIFICATED WILL ISSUE, IN A CERTIFICATE WHICH FIELDS WILL BE THERE.
WHAT IS MEANT BY JURISDICTION CODE & COUNTY CODE.
IN SD FACTORY SALES WHICH A/C ENTERIES GENERATED.
CAN ANY BODY EXPLAIN THESE FORMS, WHICH SITUATION THESE FORMS WE ARE USING. I NEED VERY URGENT.
a) A form
b) D form
c) C form
d) H form
e) DDP form
f) TR6 form
g) D3 form.
H) ARE.
I) ARE 1
j) ARE 2
IN DEPOT SALES PRICING PROCEDURE JFACT, WHICH CONDITION TYPES WILL COME,
IN FACTORY SALES PRICING PROCEDURE JFACT, WHICH CONDITION TYPES WILL COME
NOW WHAT IS THE VAT TAX.
what is the use of common distribution channel and common divisions
PLS FORWARD ANSWERS TO THIS MAIL ID.
i hope that definitely people will help
thanks every body.Dear vara prasad
You can take it for granted if you post so much questions in one thread like this, nobody will answer / clarify you.
So please make one thread per question.
Meanwhile, just I would like to clarify for few questions
1) The most important feature of chapter id is that based on this chapter id which you maintain in "Excise Tax Rate", all your excise tax rates will be flowing into your sale order / billing
2) If the rate of tax differs, then you need to maintain a separate tax code. For example, the LST / VAT in some state is 4%, and in some state it is 12%. So in this case, you need to maintain two tax codes
thanks
G. Lakshmipathi -
Need help in Idoc--very urgent.
Hi guys,
i am working on an object where i need to post the data from legacy system to F-27 transaction using Idoc.i hv found two idocs input_idoc_fidcc1 and input_idoc_fidcc2 for posting the data..
Can anyone help in finding the right idoc for triggering the f-27 transaction with the reason...
coz both are perfoming almost the same functionalities...
its very urgent guys..
kindly help me full marks wud be given...
regards
SahilHi,
The function module is related to post the idoc type FIDCPP01
and posts the complete FI document. and as coming to second function module along with Tax you can post item wise with holding tax dataalso. So you choose the required function module based on the data you need to post. If you need not post with holding tax details dont fo for second function modules.
Reward if find useful
Maybe you are looking for
-
Error filter query on the portal: message dump
HI, i tray to published some queries on the portal. In every query navigation, when we click on the Filters hyperlink and then on the variable screen button, the variable setting pop-up appears. After confirming the variable input with the O
-
Hi I'm fairly new to CS4 and have picked up an audio export problem, more than likely with a setting of sorts. For some reason when I export to MPEG2 -DVD via the Media Encoder, the video portion is fine as well as any audio that has been placed and
-
Design looks good in IE but off in Safari & Firefox
Hi: I have a design that has rounded corners on all 4 sides surrounding a site - I'm using tables (the layout otherwise is pretty basic) and everything lines up beautifully in IE, but appears to be a pixel or two off in Firefox and Safari. It's drivi
-
I have a photosmart 8250 and have been using HP premium 4X6 paper, glossy. When printing, anything that is black does not come out glossy. Why would this be happening? Thanks for any help you give me.
-
Quiz Will Not Allow for Backward Movement
I have a short 10 page presentation, on page 5 I have a single question. It is optional, I have it marked for backward movement, it does not show a score afterwards. When I publish, I can work my way through all pages, however, when I go backwards,