What is value string
Hi Guru
Please tell me what is value string in T.code OMJJ & how it determine G/L
Thanks
rajeev
[email protected]
Hello Rajeev,
Here is the link
value string
For account determination, please check MM-FI integration in the first thread of this forum.
Regards
Arif Mansuri
Similar Messages
-
po 100 pc
delivered 50 pc movement type 101
stock type unrestricted
now once i post the delivery in MIGO
system debit stock(BSX) account and credit GR/IR account
my question is can anyone tell me the complete chain of valuation and account assignment including the value string
i mean to say how the system is searching out this g/l/ accounts
please provide the link with value string
I AM CLEAR WITH THIS CHAIN GIVEN BELOW BUT I WAN TTO KNOW HOW movement type affects this chain
VALUATION AREA 1000
valuation grouping code AX
CHART OF ACCOUNT INT
BUSINESS TRANSACTION BSX
VALUATION CLASS 4400
Edited by: baxter jas on Jan 11, 2008 10:01 AMDear Baxter,
Answer for your Question.
1. In Good receipt System Generate 2 - Document.
( A. Material Document , B . Accounting Document.)
2. BSX or Store Account or Material Name Dr.
Gr / Ir Account Cr.
3. In MIRO also System Generate 2 - Document.
( A. Material Document , B . Accounting Document .)
4. Now Gr / Ir Account Dr.
Vendor Account Cr.
After MIRO System Cancel the GR / IR Account.
Now BSX or Store Accoutn or Material Dr
Vendor Account Cr.
Next Question of your's how system determine GL Account.
Answer.
1. Each and Every material have Own Valuation class.
2.Every Valuation Class Link with Gl Account.
3.Valuation Class and G.L Account Link With
Valuation Grouping Code.
4. Valuation Grouping Code Link With Valuation area.
5. Valuation area link with Company Code.
6. Comany Code Link with Chart of Account.
I Think it is some what Helpful for You.
Regards,
Rajan. -
What mandatory values to pass in bapi_po_change
Hi,
I want to change the Condition value of a material i.e basic value of material in PO.
what mandatory values required to pass to BAPI_PO_CHANGE.
pl send along with the sample .example.
Helpfull ans will be rewarded.
Note : I am creating po using BAPI_PO_CREATE1. but condition values passing to POCOND are not getting reflected due to Info records that is the reason why i am going for po change.hi.
check this examples.
REPORT zpo_bapi_purchord_tej.
DATA DECLARATIONS *
TYPE-POOLS slis.
TYPES: BEGIN OF ty_table,
v_legacy(8),
vendor TYPE bapimepoheader-vendor,
purch_org TYPE bapimepoheader-purch_org,
pur_group TYPE bapimepoheader-pur_group,
material TYPE bapimepoitem-material,
quantity(13),
delivery_date TYPE bapimeposchedule-delivery_date,
net_price(23),
plant TYPE bapimepoitem-plant,
END OF ty_table.
TYPES: BEGIN OF ty_alv,
v_legs(8),
success(10),
v_legf(8),
END OF ty_alv.
TYPES: BEGIN OF ty_alv1,
v_legf1(8),
v_msg(500),
END OF ty_alv1.
*-----Work area declarations.
DATA: x_table TYPE ty_table,
x_header TYPE bapimepoheader,
x_headerx TYPE bapimepoheaderx,
x_item TYPE bapimepoitem,
x_itemx TYPE bapimepoitemx,
x_sched TYPE bapimeposchedule,
x_schedx TYPE bapimeposchedulx,
x_commatable(255),
x_alv TYPE ty_alv,
x_alv1 TYPE ty_alv1,
x_alv2 TYPE ty_alv1.
*-----Internal table declarations.
DATA: it_table TYPE TABLE OF ty_table,
it_commatable LIKE TABLE OF x_commatable,
it_item TYPE TABLE OF bapimepoitem,
it_itemx TYPE TABLE OF bapimepoitemx,
it_sched TYPE TABLE OF bapimeposchedule,
it_schedx TYPE TABLE OF bapimeposchedulx,
it_alv TYPE TABLE OF ty_alv,
it_alv1 TYPE TABLE OF ty_alv1,
it_alv2 TYPE TABLE OF ty_alv1.
DATA: po_number TYPE bapimepoheader-po_number,
x_return TYPE bapiret2,
it_return TYPE TABLE OF bapiret2,
v_file TYPE string,
v_temp(8),
v_succsount TYPE i VALUE 0,
v_failcount TYPE i VALUE 0,
v_total TYPE i.
DATA: v_temp1(5) TYPE n VALUE 0.
DATA: x_event TYPE slis_t_event,
x_fieldcat TYPE slis_t_fieldcat_alv,
x_list_header TYPE slis_t_listheader,
x_event1 LIKE LINE OF x_event,
x_layout1 TYPE slis_layout_alv,
x_variant1 TYPE disvariant,
x_repid2 LIKE sy-repid.
DATA : it_fieldcat TYPE TABLE OF slis_t_fieldcat_alv.
SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK v_b1 WITH FRAME.
*-----To fetch the flat file.
PARAMETERS: p_file TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK v_b1.
AT SELECTION-SCREEN *
AT SELECTION-SCREEN.
IF p_file IS INITIAL.
MESSAGE text-001 TYPE 'E'.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
*-----To use F4 help to find file path.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
v_file = p_file.
START-OF-SELECTION *
START-OF-SELECTION.
PERFORM gui_upload.
LOOP AT it_table INTO x_table.
PERFORM header_details.
v_temp = x_table-v_legacy.
LOOP AT it_table INTO x_table WHERE v_legacy = v_temp.
PERFORM lineitem.
PERFORM schedule.
ENDLOOP.
DELETE it_table WHERE v_legacy = v_temp.
PERFORM bapicall.
MOVE po_number TO x_alv-success.
APPEND x_alv TO it_alv.
CLEAR x_alv.
*-----To clear the item details in internal table after the operation for a header.
REFRESH: it_item,
it_itemx,
it_sched,
it_schedx.
CLEAR: v_temp1.
ENDLOOP.
v_total = v_succsount + v_failcount.
PERFORM display_alv.
FORM GUI_UPLOAD *
FORM gui_upload .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_file
filetype = 'ASC'
TABLES
data_tab = it_commatable
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc = 0.
*-----To fetch the comma seperated flat file into an internal table.
LOOP AT it_commatable INTO x_commatable.
IF x_commatable IS NOT INITIAL.
SPLIT x_commatable AT ',' INTO
x_table-v_legacy
x_table-vendor
x_table-purch_org
x_table-pur_group
x_table-material
x_table-quantity
x_table-delivery_date
x_table-net_price
x_table-plant.
APPEND x_table TO it_table.
ENDIF.
CLEAR x_table.
ENDLOOP.
ENDIF.
ENDFORM. " gui_upload
FORM HEADER_DETAILS *
FORM header_details .
MOVE 'NB' TO x_header-doc_type.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = x_table-vendor
IMPORTING
output = x_table-vendor
MOVE x_table-vendor TO x_header-vendor.
MOVE x_table-purch_org TO x_header-purch_org.
MOVE x_table-pur_group TO x_header-pur_group.
x_headerx-doc_type = 'X'.
x_headerx-vendor = 'X'.
x_headerx-purch_org = 'X'.
x_headerx-pur_group = 'X'.
ENDFORM. " header_details
FORM LINEITEM *
FORM lineitem .
v_temp1 = v_temp1 + 10.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_temp1
IMPORTING
output = v_temp1.
MOVE v_temp1 TO x_item-po_item.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = x_table-material
IMPORTING
output = x_table-material.
MOVE x_table-material TO x_item-material.
MOVE x_table-quantity TO x_item-quantity.
MOVE x_table-net_price TO x_item-net_price.
MOVE x_table-plant TO x_item-plant.
x_itemx-po_item = v_temp1.
x_itemx-material = 'X'.
x_itemx-quantity = 'X'.
x_itemx-net_price = 'X'.
x_itemx-plant = 'X'.
APPEND x_item TO it_item.
APPEND x_itemx TO it_itemx.
CLEAR: x_item, x_itemx.
ENDFORM. " lineitem1
FORM SCHEDULE *
FORM schedule .
MOVE x_table-delivery_date TO x_sched-delivery_date.
MOVE v_temp1 TO x_sched-po_item.
x_schedx-delivery_date = 'X'.
x_schedx-po_item = v_temp1.
APPEND x_sched TO it_sched.
APPEND x_schedx TO it_schedx.
CLEAR: x_sched, x_schedx.
ENDFORM. " schedule
FORM BAPICALL *
FORM bapicall .
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = x_header
poheaderx = x_headerx
IMPORTING
exppurchaseorder = po_number
TABLES
return = it_return
poitem = it_item
poitemx = it_itemx
poschedule = it_sched
poschedulex = it_schedx.
IF po_number IS NOT INITIAL.
v_succsount = v_succsount + 1.
MOVE x_table-v_legacy TO x_alv-v_legs.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
v_failcount = v_failcount + 1.
MOVE x_table-v_legacy TO x_alv-v_legf.
MOVE x_table-v_legacy TO x_alv1-v_legf1.
LOOP AT it_return INTO x_return.
IF x_alv1-v_msg IS INITIAL.
MOVE x_return-message TO x_alv1-v_msg.
ELSE.
CONCATENATE x_alv1-v_msg x_return-message INTO x_alv1-v_msg SEPARATED BY space.
ENDIF.
ENDLOOP.
APPEND x_alv1 TO it_alv1.
CLEAR x_alv1.
ENDIF.
ENDFORM. " bapicall
FORM DISPLAY_ALV *
FORM display_alv .
PERFORM x_list_header.
PERFORM build_fieldcat CHANGING x_fieldcat.
x_repid2 = sy-repid.
x_event1-name = 'TOP_OF_PAGE'.
x_event1-form = 'TOP_OF_PAGE'.
APPEND x_event1 TO x_event.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = x_repid2
is_layout = x_layout1
it_fieldcat = x_fieldcat
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'TOP_OF_PAGE'
i_save = 'A'
is_variant = x_variant1
it_events = x_event
TABLES
t_outtab = it_alv
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " display_master_data
FORM USER_COMMAND *
FORM user_command USING ucomm LIKE sy-ucomm selfield
TYPE slis_selfield.
READ TABLE it_alv INTO x_alv INDEX selfield-tabindex.
CLEAR : x_alv2,it_alv2[].
LOOP AT it_alv1 INTO x_alv1 WHERE v_legf1 = x_alv-v_legf.
x_alv2 = x_alv1.
APPEND x_alv2 TO it_alv2 .
ENDLOOP.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv.
DATA : x3_fieldcat LIKE LINE OF it_fieldcat.
CLEAR : x3_fieldcat,it_fieldcat[].
CLEAR x3_fieldcat.
x3_fieldcat-col_pos = '1'.
x3_fieldcat-fieldname = 'V_LEGF1'.
x3_fieldcat-reptext_ddic = text-111.
x3_fieldcat-ref_tabname = 'IT_ALV2'.
APPEND x3_fieldcat TO it_fieldcat.
CLEAR x3_fieldcat.
CLEAR x3_fieldcat.
x3_fieldcat-col_pos = '1'.
x3_fieldcat-fieldname = 'V_MSG'.
x3_fieldcat-reptext_ddic = text-112.
x3_fieldcat-ref_tabname = 'IT_ALV2'.
APPEND x3_fieldcat TO it_fieldcat.
CLEAR x3_fieldcat.
x_layout1-colwidth_optimize = 'X'.
x_layout1-zebra = 'X'.
IF it_alv2[] IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = x_repid2
is_layout = x_layout1
it_fieldcat = it_fieldcat
i_save = 'A'
i_callback_top_of_page = 'TOP'
is_variant = x_variant1
it_events = x_event
TABLES
t_outtab = it_alv2
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDIF.
ENDFORM.
FORM USER_COMMAND *
FORM top.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = 'Commentry'.
ENDFORM.
FORM BUILD_FIELDCAT *
FORM build_fieldcat CHANGING et_fieldcat TYPE slis_t_fieldcat_alv.
DATA: x1_fieldcat TYPE slis_fieldcat_alv.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '1'.
x1_fieldcat-fieldname = 'V_LEGS'.
x1_fieldcat-reptext_ddic = text-108.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '2'.
x1_fieldcat-fieldname = 'SUCCESS'.
x1_fieldcat-key = 'X'.
x1_fieldcat-reptext_ddic = text-109.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '3'.
x1_fieldcat-fieldname = 'V_LEGF'.
x1_fieldcat-key = 'X'.
x1_fieldcat-reptext_ddic = text-110.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
ENDFORM. " build_fieldcat
FORM BUILD_LIST_HEADER *
FORM x_list_header.
DATA: x_list_header1 TYPE slis_listheader.
*-----List Header: type H
CLEAR x_list_header1 .
x_list_header1-typ = 'H'.
x_list_header1-info = text-105.
APPEND x_list_header1 TO x_list_header.
*-----List Key: type S
x_list_header1-typ = 'S'.
x_list_header1-key = text-106.
x_list_header1-info = v_total.
APPEND x_list_header1 TO x_list_header.
*-----List Key: Type S
CLEAR x_list_header1 .
x_list_header1-typ = 'S'.
x_list_header1-key = text-107.
x_list_header1-info = v_succsount.
APPEND x_list_header1 TO x_list_header.
ENDFORM. " build_list_header
FORM TOP_OF_PAGE *
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = x_list_header.
ENDFORM. " TOP_OF_PAGE
REPORT Z_SALES_ORDER_CHANGE
NO STANDARD PAGE HEADING
LINE-SIZE 132
LINE-COUNT 65(0)
MESSAGE-ID ZZ.
TABLES: VBAP.
DATA:
V_FILEIN(90) TYPE C,
V_RECIN TYPE I,
V_RECVBAP TYPE I,
V_RECORDER TYPE I,
V_VBELN LIKE VBAP-VBELN,
ORDERHEADERINX LIKE BAPISDH1X.
DATA: BEGIN OF I_ORDERS OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
BRGEW(18) TYPE C,
VOLUM(18) TYPE C,
END OF I_ORDERS.
DATA: BEGIN OF I_OUTPUT OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
GEWEI LIKE VBAP-GEWEI,
BRGEW LIKE VBAP-BRGEW,
VOLUM LIKE VBAP-VOLUM,
CKWGT TYPE C,
CKVOL TYPE C,
END OF I_OUTPUT.
DATA: BEGIN OF ORDERITEMIN OCCURS 0.
INCLUDE STRUCTURE BAPISDITM.
DATA: END OF ORDERITEMIN.
DATA: BEGIN OF ORDERITEMINX OCCURS 0.
INCLUDE STRUCTURE BAPISDITMX.
DATA: END OF ORDERITEMINX.
DATA: BEGIN OF RETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF RETURN.
DATA: BEGIN OF BAPIRETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF BAPIRETURN.
PARAMETERS:
P_PATH(45) TYPE C DEFAULT '/usr/users/ftpsapom/' LOWER CASE,
P_FNAME(32) TYPE C DEFAULT '/sweetjo.txt' LOWER CASE.
START-OF-SELECTION.
CONCATENATE PATH AND FILE NAME INTO ONE VARIABLE
CONCATENATE P_PATH P_FNAME INTO V_FILEIN.
OPEN DATASET
IF V_FILEIN IS INITIAL.
MESSAGE E002 WITH 'FILE' V_FILEIN 'DOES NOT CONTAIN ANY DATA!'.
ELSE.
OPEN DATASET V_FILEIN
FOR INPUT
IN TEXT MODE.
IF SY-SUBRC = 0.
READ DATASET
DO.
READ DATASET V_FILEIN INTO I_ORDERS.
IF SY-SUBRC = 0.
APPEND I_ORDERS.
ELSE.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET
CLOSE DATASET V_FILEIN.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'ERROR - CLOSING' V_FILEIN.
ENDIF.
ELSE.
MESSAGE E002 WITH 'ERROR - COULD NOT OPEN' V_FILEIN.
ENDIF.
ENDIF.
SORT AND REMOVE DUPLICATES FROM I_ORDERS
SORT I_ORDERS BY VBELN POSNR.
DELETE ADJACENT DUPLICATES FROM I_ORDERS.
POPULATE I_OUTPUT
LOOP AT I_ORDERS.
SHIFT I_ORDERS-POSNR LEFT DELETING LEADING SPACE.
CONCATENATE '0' I_ORDERS-POSNR INTO I_ORDERS-POSNR.
SELECT SINGLE BRGEW VOLUM
FROM VBAP
INTO (VBAP-BRGEW, VBAP-VOLUM)
WHERE VBELN = I_ORDERS-VBELN
AND POSNR = I_ORDERS-POSNR.
IF SY-SUBRC = 0.
IF VBAP-BRGEW = 0.
I_OUTPUT-CKWGT = 'X'.
ENDIF.
IF VBAP-VOLUM = 0.
I_OUTPUT-CKVOL = 'X'.
ENDIF.
I_OUTPUT-VBELN = I_ORDERS-VBELN.
I_OUTPUT-POSNR = I_ORDERS-POSNR.
I_OUTPUT-GEWEI = 'ST'.
I_OUTPUT-BRGEW = I_ORDERS-BRGEW.
I_OUTPUT-VOLUM = I_ORDERS-VOLUM.
APPEND I_OUTPUT.
CLEAR: I_OUTPUT.
ENDIF.
V_RECIN = V_RECIN + 1.
ENDLOOP.
POPULATE BAPI DATA AND RUN BAPI
CLEAR: ORDERHEADERINX, ORDERITEMIN, ORDERITEMINX,
RETURN, BAPIRETURN.
REFRESH: ORDERITEMIN, ORDERITEMINX, RETURN, BAPIRETURN.
ORDERHEADERINX-UPDATEFLAG = 'U'.
LOOP AT I_OUTPUT WHERE CKWGT = 'X' OR CKVOL = 'X'.
V_RECVBAP = V_RECVBAP + 1.
IF I_OUTPUT-VBELN <> V_VBELN AND SY-TABIX <> 1.
V_RECORDER = V_RECORDER + 1.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = V_VBELN
ORDER_HEADER_INX = ORDERHEADERINX
TABLES
RETURN = RETURN
ORDER_ITEM_IN = ORDERITEMIN
ORDER_ITEM_INX = ORDERITEMINX.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = BAPIRETURN.
WRITE OUT RETURN
LOOP AT RETURN.
WRITE: / RETURN.
ENDLOOP.
WRITE: / BAPIRETURN.
SKIP.
CLEAR: ORDERITEMIN, ORDERITEMINX,
RETURN, BAPIRETURN.
REFRESH: ORDERITEMIN, ORDERITEMINX, RETURN, BAPIRETURN.
ENDIF.
ORDERITEMIN-ITM_NUMBER = I_OUTPUT-POSNR.
ORDERITEMIN-UNTOF_WGHT = I_OUTPUT-GEWEI.
IF NOT I_OUTPUT-CKWGT IS INITIAL.
ORDERITEMIN-GROSS_WGHT = I_OUTPUT-BRGEW.
ORDERITEMINX-GROSS_WGHT = 'X'.
ENDIF.
IF NOT I_OUTPUT-CKVOL IS INITIAL.
ORDERITEMIN-VOLUME = I_OUTPUT-VOLUM.
ORDERITEMINX-VOLUME = 'X'.
ENDIF.
APPEND ORDERITEMIN.
ORDERITEMINX-ITM_NUMBER = I_OUTPUT-POSNR.
ORDERITEMINX-UNTOF_WGHT = 'X'.
ORDERITEMINX-UPDATEFLAG = 'U'.
APPEND ORDERITEMINX.
V_VBELN = I_OUTPUT-VBELN.
ENDLOOP.
RUN BAPI ON LAST ORDER
IF NOT ORDERITEMIN IS INITIAL.
V_RECORDER = V_RECORDER + 1.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = V_VBELN
ORDER_HEADER_INX = ORDERHEADERINX
TABLES
RETURN = RETURN
ORDER_ITEM_IN = ORDERITEMIN
ORDER_ITEM_INX = ORDERITEMINX.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = BAPIRETURN.
WRITE OUT RETURN
LOOP AT RETURN.
WRITE: / RETURN.
ENDLOOP.
WRITE: / BAPIRETURN.
SKIP.
ENDIF.
WRITE OUT RECORD COUNT FROM FILE
WRITE: / 'RECORD COUNT FROM FILE ', V_RECIN.
SKIP.
WRITE OUT RECORD COUNT FROM FILE
WRITE: / 'RECORD COUNT OF LINES TO CHANGE ', V_RECVBAP.
SKIP.
WRITE OUT RECORD COUNT FROM FILE
WRITE: / 'RECORD COUNT OF ORDERS TO CHANGE ', V_RECORDER.
SKIP.
TOP OF PAGE
TOP-OF-PAGE.
WRITE:/1(5) TEXT-H01, 6(8) SY-DATUM MM/DD/YY,
100(8) TEXT-H02, 126(8) SY-PAGNO.
WRITE:/1(5) TEXT-H03, 6(8) SY-UZEIT USING EDIT MASK '__:__:__',
20(77) TEXT-H04,
100(8) TEXT-H05, 108(25) SY-REPID.
WRITE:/1(6) TEXT-H06, 8(12) SY-UNAME,
20(4) TEXT-H07, 25(32) SY-HOST,
100(13) TEXT-H08, 121(8) SY-SYSID,
129 '/', 130(3) SY-MANDT.
ULINE.
SKIP.
regards.
sowjanya.b -
Memory leak in "get property value (string)" ?
Hi,
I'm not sure which forum to post this to because it involves a combination of labview and teststand. The error I'm getting is more teststand related so it is here.
In our application, we have a labview queued state machine launched by a teststand step using "launch vi asynchronously". In one of the states of this state machine, we are looping grabbing frames from a camera, querying a teststand using "get property value (string)", to overylay on the video on each frame. This is so when we post process the video, we can tell what step(s) teststand was performing (we are writing a status string to a property from teststand as well). Since this string has to be overlayed on the video for each frame to be visible when played back, this happens many many thousands of times over the multi hour test runs of the platform.
My problem is, after 22 hours or so of running, I get an error generated from the "get property value (string)", saying cannot create any more threads. The only thing wired to this tool in our vi is sequence context, which is passed in when the vi is launched from teststand. When opening the "get property value (string)" vi itself, it is very simple, consisting of a "aspropertyvalue" casting, reading of the string from the proprety, closing the aspropertyvalue reference, and exiting. It does not seem like there should be any "threads" being created here, except for perhaps the vi itself executing. But in that case I would assume the OS itself would clean up after itself.
BTW, the OS I am testing on is win7 x64. I did see this though running on our xp box once as well though, same amount of time. It is very repeatable. My next plan is to disable this get property value using a disable case, and run again, but I"m still wondering why this error is occurring. Any help or insight will be appreciated.
Thanks
David Jenkinson
Hi,I'm not sure which forum to post this to because it involves a combination of labview and teststand. The error I'm getting is more teststand related so it is here.
In our application, we have a labview queued state machine launched by a teststand step using "launch vi asynchronously". In one of the states of this state machine, we are looping grabbing frames from a camera, querying a teststand using "get property value (string)", to overylay on the video on each frame. This is so when we post process the video, we can tell what step(s) teststand was performing (we are writing a status string to a property from teststand as well). Since this string has to be overlayed on the video for each frame to be visible when played back, this happens many many thousands of times over the multi hour test runs of the platform. My problem is, after 22 hours or so of running, I get an error generated from the "get property value (string)", saying cannot create any more threads. The only thing wired to this tool in our vi is sequence context, which is passed in when the vi is launched from teststand. When opening the "get property value (string)" vi itself, it is very simple, consisting of a "aspropertyvalue" casting, reading of the string from the proprety, closing the aspropertyvalue reference, and exiting. It does not seem like there should be any "threads" being created here, except for perhaps the vi itself executing. There seems to be something going on behind the scenes of this get property value tool that isn't cleaning up after itself?
BTW, the OS I am testing on is win7 x64. I did see this though running on our xp box once as well though, same amount of time. It is very repeatable. My next plan is to disable this get property value using a disable case, and run again, but I"m still wondering why this error is occurring. Any help or insight will be appreciated.
Thanks
David JenkinsonHi David,
Have you tried just using property node | Method Nodes instead of using the VI. There should be no difference but I think that VI is polymorphic ie the input with change depending on what's wired to it eg string, double etc.
Regards
Ray Farmer -
MM Change Value String from new Movement Type. (URGENT)
Dear friends ,
We have copied moviment type 501 and we need to change the value string to this movement.
So after copy to 933 and creates value string ZA01 copied from WA01 , which tables should I change to value string of movment type use it ?
We are using ECC 5.0.
Best regards,
AlessandroCould you please tell us what you want to achive with this setting though iam 99% sure that what you told in this thread cannot be done. WE always try to create the new movement types using exisiting movement types. So , transaction key/ Value string are copied over . So, i highly doubt if you can even change those fields as they are defined by SAP and used as part of their code and highly recommends not to attempt to play with them.
If you want, you can check in OMWN and OMJJ to see that they are uneditable..
please let us know what you want to achive with this so that we can try to help you.
Please revert back to us if you have achived in creating a copy of WA01 and also let us know how you did it . Iam just curios.
AH -
Return 2 values (string, number) multiple rows, from java stored function
I would like to return 2 values (String, number prefered but String, String will work) from a java stored function.
I was able to successfully return a varray of varchar2 values but I was wondering if it is possible to return 2 values by using a varray?
Is it even possible? I tried using combinations of types which included a varray of objects (with 2 attributes) or a type as table of objects but I couldn't figure out how in my java code to set these values. Also what would my java function return type be and what Oracle type would map to it?
Any help and examples or pointers would be great.
Thanks,
DennisThanks to all. I finally figured it out through all the pieces on the web.
Here is what worked for me. First create 2 oracle types. One object type to represent the "columns" I will pass back:
CREATE OR REPLACE TYPE COST_OBJ AS OBJECT (COST_NAME NVARCHAR2(50), COST_VALUE number ) NOT FINAL
note: make sure the "strings" are defined as NVARCHAR2 or Java will puke if it is just VARCHAR2.
Then create a table type to hold your objects defined as following:
CREATE OR REPLACE TYPE COST_OBJ_TABLE is table OF COST_OBJ
Then create the oracle stored function that is a wrapper to the java function:
CREATE OR REPLACE FUNCTION get_Costs(Name VARCHAR2, evalDate VARCHAR2, fuelCodeID NUMBER) return COST_OBJ_TABLE
is language java name
'com.costs.storedProcedures.Cost.getCosts(java.lang.String, java.lang.String, int) return oracle.sql.ARRAY'
Once that is done, Oracle is ready. The Java function looks something like this:
public ARRAY getCosts(String name, String evalDate, int fuelCodeID) {
DBAccess da = getDBAccess();
// get a handle on the connection
Connection conn = da.getConnection();
// The stuff that will be returned should be as type object array
// make it to the size of the number of fuelcomponents passed in
Object[] returnStuff = new Object[3];
// create the type of struct that is defined on the database
StructDescriptor structDesc =
StructDescriptor.createDescriptor("CY_UMAP.COST_OBJ", conn);
for (int i = 0; i < returnStuff .size(); i++) {
Object[] costValues = new Object[]{
"This is object " + i,
new Integer ( i ) };
STRUCT cost_obj = new STRUCT(structDesc, conn, costValues);
returnStuff[i] = cost_obj;
ArrayDescriptor x_ad = ArrayDescriptor.createDescriptor (
"CY_UMAP.COST_OBJ_TABLE", conn);
ARRAY x_array = new ARRAY(x_ad, conn, returnStuff);
return x_array;
I hope this helps others.
Dennis -
Good morning SAP Guru's
may i know what is the differance betwwen value string and posting string?
i find some of the value string in OMWN, may i have its description
WE06
WE01
WF01
WA01
WA03
WA15
WA16
do we have any TC to check the description of above value strings.Value string is same as Posting string. It will generate posting records, and is related with programming interfaces. Maybe you can get the details from ABAP consultant.
-
Retrieving empty values from multi value string in user profile custom properties
Hi,
I created a webpart to save and retrieve data from custom properties. I use the code below to get the stored data:
for (int i = 0; i < profile[property].Count; i++)
Item = profile[property][i] == null ? string.Empty : profile[property][i].ToString();
list.Add(Regex.Split(Item, @"\,\#"));
Nothinig special about it.
In my development environment, it works fine. The problem is in my UAT environment. I'm facing an issue that i hope someone has been through. When the custom property is a multi value string type, it returns a empty string. I tested with HTML and single
value fields and it works fine.
Independently of the field type, it saves the data all right.
Can anyone help me?
Thanks!!Thanks, Chitvan Jain.
I did as you suggested, but nothing changed. The problem is that profile[propname] comes already blank when using multi value property, even if there is data to be retrieved.
One funny thing is that, somehow the code manages to count the number of values there is in the property. Only the data is missing. We can see the exact number of column, cause i check if there's the right number of data, if there isn't, i add up a empty
string on the grid cell, but only for viewing. The empty string is not stored in the property. -
Movement type and Value string
Hi,
I have copied movement type 101 to Z02. Is it possible to change the value String from WE01 to something else. My purpose is to post to a different account instead of GRIR while MIGO for free goods. So please don't suggest me to change in OBYC as the change is going to effect every MIGO which we don;t want to happen. Any ideas?
ThanksThe value strings contain keys for the posting transactions that can
lead to G/L account updates in the case of an FI-relevant posting. These
value strings are predefined by SAP. You cannot change value strings or
the transactions they comprise in Customizing. For each of these posting
transactions, you can set up automatic postings in dependence on the
other influencing factors.
The value string controls the process of G/L account determination for
transactions/events of the movement type (see unit Valuation and
Account Assignment), whereas the quantity string controls the updating
of the material master fields.
In SAP R/3, the value string WA01 is assigned to various goods issues
and other goods receipts. Further differentiation in the automatic
account determination process for these different movements is
accomplished via the account grouping code. -
What's best: "(String) o" or "o.toString()"?
Title sais it all...
What's best: "(String) o" or "o.toString()"?
And why?It depends what you're trying to do.
If o is known to be a String, but wasn't declared that way, and you need to use it as a String, then (String)o. This way the code expresses your intent. (It also saves you a method call, but that's not the reason you do it.)
If o is an arbitrary object and you want its String representation, then o.toString (or String.valueOf(o) if you need to protected yourself from null).
Don't make the mistake of thinking the two are in any way equivalent. The fact that in certain circumstances they evaluate to the same thing is just coincidence. -
Value string for GR for normal PO and other
Hi,
I want to know whihc value string i sused and which account are updated when we make GR
1 : For normal PO, without any account assignment for stovk material
2: For Subcontract PO
3: For PO with account assignment
4: In case of ASSETT
regards,
zafarFOR Normal PO, BSX Key is hit (i.e Inventory Posting account are hit) where as others are determined from the Accout assignment categories.
you can check the account assignment Categories from SPRO--> Material Management --> Purchasing --> account assignment --> Maintain account assignment categories.
select the acccount assignment cat. and click on the details tab. you will find the string in Acc. modification field.
check this acc. modification key using OBYC Transaction for GBB (Offsetting entry for inventory posting).
Regards,
S Anand -
SQL Command code for multiple value string parameter
Hi,
I'm using crystal 2008 and there is a check box for multiple value SQL Command I need some help in writing the SQL Command code for oracle (or sql server) for a multiple value STRING parameter.
Thanks in advance,
MarilynI could be wrong here, but I do not believe you can pass a multiple valued parameter to an SQL Command data source. How I have gotten around this in the past is to put the "real" report into a subreport. In the main report, create a formula field (basic syntax):
formula = join({?parameter}, "|")
Then, use this to pass the selected values to the subreport's parameter (call it {?sr-parm}). The SQL Command in the subreport can then use that (MS SQL):
select *
from table
where charindex(table.field, '{?sr-parm}') > 0
HTH,
Carl -
Movement Types and value string in account determination.
Hi Team,
In the account determination how and where the movement types and value string are assigned to each other.
Thanks,
Sanjayhi
Value Strings
Posting records are assigned to each relevant movement type in Inventory Management and to each transaction in Invoice Verification.
Value Strings indicates the posting rule that always contains the same account assignment characteristics for a certain transaction or event (for example a goods movement or an invoice receipt).
Each goods movement is assigned to a Value String and each Value String in turn is assigned to Transaction/ Event keys. These settings are pre-defined and can not be changed.
You can see the linking of Value Strings in the following tables:
T156S- Movement Type: Quantity/ Value Posting (For movement type--> Value String)
T156W- Posting String Values (For Value String--> Transaction/ Event key)
I had found the following Value Strings in the system: WA01, WA03, WA04, WA06, WE01, WE06 and WF01. -
Where we can find the detail infomation about the Value String of automatic
Where we can find the detail infomation about the Value String of automatic?
such as WE06,WE01 and so on.Hai,
Value string keys are for SAP internal usage. It is just a pointer to the transaction event key which is necessary for automatic account determination.
Movement types are linked to transaction keys via valuation string in OMWN T-code.
The R/3 System automatically determines the value string assigned to a specific transaction. It depends partly on entered parameters manually and partly on parameters derived internally by the system. The value string contains all posting transactions that are possible for a certain transaction. The program decides which of these posting transactions lead to G/L account postings in individual cases. You cannot define this in Customizing.
Value string WE01, for the goods receipt for a purchase order into stock, contains transactions BSX and WRX.
WE01: BSX, WRX, PRD, KDM, EIN, EKG, BSV, FRL, FRN, BSX, UMB.
WA14: BSX ,PRD, BSX, UMB
WA01: BSX, GBB, PRD, BSX, UMB
Value string RE05 contains transactions BSX and UMB.
In the standard system, value string WE01 is assigned to goods receipts (and also cancellations and return deliveries) for Standard and Subcontracting purchase order items without account assignment concerning valuated material into stock. In the case of (valuated) goods receipts for purchase order items not subject to account assignment,
post the items to a stock account using the transaction key BSX and make an offsetting entry to a GR/IR clearing account. A price difference posting (transaction key PRD) is only used if the valuated material is subject to standard price control and if the order price (or invoice price) is different from the standard price. Transaction key KDM is required in Inventory Management for purchase orders in foreign currencies because of differences in exchange rates between goods receipts and invoice receipts, unless the material can not be debited or credited because it is subject to standard price control.
The transaction keys EIN and EKG (and possibly FRE see account determination for delivery costs) are only used in company codes where purchase account management is active (as required in France and Belgium for example).
The transaction keys BSV, FRL, and FRN are only used for the Subcontracting item category.
Value string WA14 is defined for deliveries without charge (movement type 511).
The following scenarios are possible:
Delivery without charge for material subject to moving average price control → No accounting document
Delivery without charge for material subject to standard price control (and if the posting date is in the previous period standard price in the posting period = standard price in the current period) → Inventory posting (receipt at standard price) and offsetting entry to price differences account
Delivery without charge for material subject to standard price control, with posting date in the previous period and the standard price in the posting period is different to the standard price in the current period → Inventory posting (receipt at standard price) and offsetting entry to price differences account (posting in the previous period) → Stock correction posting and Revenue/expense from revaluation (posting in the current period)
In the standard system, value string WA01 is assigned to goods issues and other goods receipts. The R/3 System uses an additional influencing factor, account grouping, to differentiate further between the various movements during account determination.
Hope it will be Helpful 4 u.
Reward Point if Useful. -
Hi guru's what is check tabale , what is value table
hi guru's what is check tabale , what is value table
The Check Table is the dependent table to which the relationship is defined using foreign keys. The contents of the check table field are shown in the input help for the referenced field.
For example you have Employee master table & Employee Transaction table.
When ever an employee Transacts we need to check whether that employee exists , so we can refer to the employee master table.
This is nothing but a Parent & Child relationship . Here data can be maintained at client level , no development involved.
As per DBMS what we call foregin key table, is called as check table in SAP.
The Value table is the table attached to a field at the domain level, where the entry to the field can be only from the value table. They are not used in the Input Help.
This is maintained at Domain Level.
When ever you create a domain , you can entered allowed values. For example you go to Domain SHKZG - Debit/credit indicator. Here only allowed values is H or S.
When ever you use this Domain, the system will forces you to enter only these values.
This is a sort of master check . To be maintained as a customization object. This mean that if you want to enter values to this table you have to create a development request & transport the same.
There is 1 more important Difference in Value Table and Check Table is that:
1. The contents of the check will be used as an input help(F4 Help) for a particular field on which a check table is assigned.
But the contents of Value Table are never used in Input Help.
The Heirarchy which decides from where to used the Input Help is:
1. Input help defined explicitly in ABAP Program or Dialog Module.
2. Input Help Attached to the referenced Database Table field.
3. Using the contents of Check Table as an input help if neither (1) or (2) help are there.
4. Input help from Fixed value or Value range given in Domain.
Maybe you are looking for
-
may problem is my pc get an error of R-R-G-R in booting. what is wrong with this setting i only run it one day but when i turn off my pc that error will come heres my setting in oc.. where did i go wrong? Quote Motherboard OC Jumper set to default ==
-
My email is being sent under my mothers name!!!
So my itunes account is connected to my mothers credit card, and it has been for many years. I noticed only recently that when i send a mail, it shows that the mail is sent under my mothers name, but my own email address. I cant seem to find where i
-
I have a string array with elements as follows: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5E 00 00 00 00 00 50 00 30 00 33 00 34 00 39 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 The array I w
-
JSP / JDeveloper customisations
I've been given the task of evaluating JDEVELOPER3 and developing a couple of basic JSPs. I want to take the wizard built JSP and lightly customise it, by changing one or more of the fields to be Drop down picklists, or radio buttons. I've had a call
-
Photoshop Elements 11 on iMac 10.10.2. unresponsive.
Application continues to go into unresponsive state. It hangs, eventually unhangs but as soon as I try to do anything with it, it goes into unresponsive state again. It has become completely unusable. I looked for answer on this forum but do not see