Macros In SOP
Hi All,
Can any one plz tell me abt macros in SOP how it will be used in flexible planning
Thnx & rds
sandya
Hi
They atre simple mathematical formulas.
for ex:- you must be using the std SOP.
In the screen you are giving sales qty &target stock level.
You are calculate the production qty for target stock qty.
you8 can see this formula in std SOP in Mc87.
Regards
YMREDDY
Similar Messages
-
Hi,
I am trying to copy the macros in SOPDIS to planning type created for custom developed infostructure.
But it is adding the lines in macro in between the lines for macro ZLAG, Can you Please any bofy let me know how to resolve this?Hi
They atre simple mathematical formulas.
for ex:- you must be using the std SOP.
In the screen you are giving sales qty &target stock level.
You are calculate the production qty for target stock qty.
you8 can see this formula in std SOP in Mc87.
Regards
YMREDDY -
Hi,
I have got some doubts about macro definitions in SOP.
First, I would like to know how to use the ">" and "<" operators. Sometimes in the sequence of instructions they seem to behave as IF sentences.
Example
Operand 1 Operator Operand 1 Result
A > 0 A
Moreover I would like to know how to refer to an operand in a certain column in my table.
Thus, I would be very grateful if someone could tell where to get an useful SOP macros tutorial.
Thanks in advance.Hi, here you can find the operations (formulas) that we would like to implement using simple macros in the MC8A transaction, and all the fields involved. Obviously, we can create any other auxiliar field that might we need. Please do not care about row names since they are in Spanish.
FIRST OPERATION
Row names involved
-Cantidad picaroles previsión segura -
A
-Cantidad de picaroles (interface) -
B
-Previsiones seguras -
>C
Operation to implement
A = MAX (B,C)
SECOND OPERATION
-Cantidad teórica picarol -
A
-Cantidad picaroles previsión segura -
B
-Cantidad picaroles 100 (INTERFACE) -
C
-Cantidad picarol mix o Dummy -
D
Operation to implement
D = IF ((A-(BC))<0; 0; (A-(BC)))
Thanks a lot again for your help. This is very urgent so I would be very grateful if you could please at least spend some time in finding a solution.
Ben. -
DMS document output in SOP report
Hi all,
I want to OUTPUT a DMS document in SOP Report template. But it is not reflecting in my SOP report though I have fullfilled the prerequisites.Here are my steps that i carried out
1) I have linked the DMS doc. in a value assignment in user defined text.
2) The DMS document type is SBV.
3) The required document indicator tick is alos ensured in specify user defined text types in BASIC DATA & TOOLS in customizing.
3)It is also ensured that the EHS <> DMS doc types are linked in customizing.
4) I put the symbol in wwi report template under GESTDHEADE HEADER User-defined text .
But when I run the preview (cg42) the space where I have assigned the symbol is blank.
I even tried to put my required data in Long text in user defined text tab assigning REMARKS as user defined text type but there is no output in REPORT when i carry out preview.
Requesting your comment what shall be the cause of this .
Regards,
Ashish pradhanHello all
the document type SBV should not be used or used only carefully regarding this. I recommend to use a customer specific document type. SBV is related to WWI report templates. Furthermore make sure that generation variant fits usage of data record in which you have set up the document which is located in the user defined text (Active indicator of usage must be set). I know cases in the area of access problemes so that the WWI could not retrieve the user defined document. PLease make sure that you have "checked" WWI layout without error (WWI Check).
PLease check this:
if you have uploaded e.g. an rtf file and created a value assignment and you have uploaded the document to be stored in the user defined text than the document is "there". That means: in this process the SAP EH&S process generate a new unique id which should show up in the user defined text (there somthing like this should show up: SBV WWI 0000111223 numbers...)
Using this unique ID you can check if the document is really in DMS available. Furthermore depending on the EH&S release (support package etc.) you could check this. If you "click" with the mouse key on the unique id (refer above) the SAP EH&S system should upload directly to your client computer the document and start immediatly the corresponding application (e.g. word etc.) . In doing so you can check if the document is "really" there
May be you need to check further DMS customizing. E.g. depending on the document you have used in upload there is a missing link to the "type" of document. .E.g. the EXCEL macro regarding standard SAP output variant links to I believe a seperate document type
Hope that helps
With best regards
CB -
dear gurus,
can any body explains the concept of consistent planning in sap
it will be useful for all
thanks in advance
gideFOR CONSISTANCE PLANNING
The application allows planning at any level of aggregation: for example, high-level planning of planning hierarchies and/or product groups or detailed planning of finished products.
Not only can users create sales and production plans, they can also plan other items of information such as key figures from an information structure.
Moreover, resource leveling can be performed for work center capacities, materials, production resources/tools, and costs to ensure that resources are sufficient to meet targets.
Planning is carried out in an easy-to-use planning table like a spreadsheet, in which macros and events can be defined and actual data compared with planned data.
sop flow
create sales order t.c VA01
create prod order from sales order MANNUAL
disaggregate plnning valves
T.C: MC87 PLANN TO MATLS
T.C: MC74 VERSION MANAGEMENT
T.C : MC87 CHANGE IN PLAN
tranfer the planned reqmt to demand mag T.C : MC74
mrp run T.C: MD02 , MD04 -
Dear all,
I am doing SOP Flexible Planning but it is not getting me, can any body Send me screen shorts/user Manuals of SOP flexible planning.
Regards,
RaviHi,
check this SAP help:
http://help.sap.com/saphelp_40b/helpdata/en/a5/632f3b43a211d189410000e829fbbd/frameset.htm
Major steps is:
Your business needs to define characterristics and key figures.
1.Create a info structure for flexible planning.
2.Create planning heirrachy
3.Create planning type/macros
4.Plan using MC94 planning table. -
Implementation (SOP)
Hi,
I am working with flexible planning in SOP. My problem could be described as follows:
I have created one info structure with some ratios and now I am defining some macros in the planning type.
Well, I would like to know whether is possible to implement an 'IF' structure just using macros. For example, I would like to add the value of two ratios only if a third ratio is bigger than zero. Otherwise, I would like to increase this value or carrying out any other operation.
I have spent some time trying to do it but it is really hard since you can only use the '+','-'... operators.
I hope someone could help me because I am not in the mood for creating an ABAP program for this purpose.
Thanks in advance and best regards.Thanks a lot for your help, K.Prabakaran.
If you agree, I could send you an equivalent MS Excel document so I could explain you in an easier way which are the key fields involved and which operations I would like to carry out between them.
Remember I would like to do it just using simples macros (the ones you can create in the MC8A) and no an ABAP program.
Thanks a lot again and we will keep in touch.
Ben. -
dear
can i configre a report using SOP and not run mrp only for running report and these are the fields which i require
These are the parameters required in that report
1. sales forecast(this is done annually with the monthly break up)
2. sales forecast value
3. actual sales
4 . diff between actual sales and forecasted
5.opening stock
6.purchanse ordering quantity per month
7.goods received
8.closing stock
9.stock index
sales forecast and purchanse ordering quantity are the forecast values which will be feed at the starting of the year
and stock index there is formula to calculate so is for that is there any user exit to calculate that is there any std report for this or using sop 2 get this report
can u pls help me in solving this issue
thanks in advance1.Hi when you create a infostrucutre as mentioned above you will have 2 tables generated by the infostructure
Ex: you create a Infostructure called s999
2. In such case 2 set of tables will be generated s999 and s999e
3. You will have the values generated through the plannigtype in the tabels999
3.Using the s999 table you will be able to generate the report that are required.
4.When you have created your own info structure you can also use the standard Tcode MC9C - Reporting to get few reports
Kindly let us know if you need more details
Reg
Dsk -
Macro to open and save as a value in a cell
How can I create a macro (I've named it Test) that will:
1.bring up the open dialogue box (to allow the user to choose a file)
2.save the file, with the file name determined by the text in cell A3 in .xlsx format
I have two pieces code that seem to work individually, but not together:
Dim strFileName As String
strFileName = Application.GetOpenFilename
If strFileName = "False" Then Exit Sub
MsgBox strFileName
ThisFile = Range("A3").Value
ActiveWorkbook.SaveAs Filename:=ThisFile
Thanks for the help!Hi
With very little change, this works for me. I just declared your last variable. (thisFile)
Sub test()
Dim strFileName As String, thisFile As String
strFileName = Application.GetOpenFilename
If strFileName = "False" Then Exit Sub
MsgBox strFileName
thisFile = Range("A3").Value
ActiveWorkbook.SaveAs Filename:=thisFile
End Sub
Cimjet -
Memory usage of excel stays high after Macro is executed and excel crashes after trying to close it
Hi,
I'm trying to resolve an issue with an excel based tool. The macros retrieve data from an Oracle database and do calculations with the data. They also open and write into files in the same directory. The macros all run and finish the calculations. I can
continue to use and modify the sheet. I can also close the workbook, however excel memory usage I see in the windows Task manager stays elevated.If I close Excel it says: Excel stopped working and then it tries to recover information...
I assume something in the macro did not finish properly and memory was not released. I would like to check what is still open (connection, stream or any other object) when I close the workbook I would like to have a list of all still used memory. Is there
a possibility to do so.
Here the code I'm using, its reduced to functions which open something. Functions
get_v_tools() and get_change_tools() are same as get_client_positions().
Public conODBC As New ADODB.Connection
Public myPath As String
Sub get_positions()
Dim Src As range, dst As range
Dim lastRow As Integer
Dim myPath As String
lastRow = Sheets("SQL_DATA").Cells(Sheets("SQL_DATA").rows.Count, "A").End(xlUp).Row
Sheets("SQL_DATA").range("A2:AD" & lastRow + 1).ClearContents
Sheets("SQL_DATA").range("AG2:BE" & lastRow + 2).ClearContents
Sheets("SQL_DATA").range("AE3:AF" & lastRow + 2).ClearContents
k = Sheets("ToolsList").Cells(Sheets("ToolsList").rows.Count, "A").End(xlUp).Row + 1
Sheets("ToolsList").range("A2:M" & k).ClearContents
'open connection
Call open_connection
lastRow = Sheets("SQL_DATA").Cells(Sheets("SQL_DATA").rows.Count, "A").End(xlUp).Row
If lastRow < 2 Then GoTo ErrorHandling
'copy bs price check multiplications
Set Src = Sheets("SQL_DATA").range("AE2:AF2")
Set dst = Worksheets("SQL_DATA").range("AE2").Resize(lastRow - 1, Src.columns.Count)
dst.Formula = Src.Formula
On Error GoTo ErrorHandling
'new prices are calculated
newPrice_calculate (lastRow)
Calculate
myPath = ThisWorkbook.Path
'Refresh pivot table in Position Manager
Sheets("Position Manager").PivotTables("PivotTable3").ChangePivotCache ActiveWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
myPath & "\[Position_Manager_v1.0.xlsm]SQL_DATA!R1C2:R" & lastRow & "C31" _
, Version:=xlPivotTableVersion14)
ErrorHandling:
Set Src = Nothing
Set dst = Nothing
If conODBC.State <> 0 Then
conODBC.Close
End If
End Sub
Sub open_connection()
Dim sql_data, sql_data_change, sql_data_v As Variant
Dim wdth, TotalColumns, startRow As Integer
Dim rst As New ADODB.Recordset
Errorcode = 0
On Error GoTo ErrorHandling
Errorcode = 1
With conODBC
.Provider = "OraOLEDB.Oracle.1"
.ConnectionString = "Password=" & pswrd & "; Persist Security Info=True;User ID= " & UserName & "; Data Source=" & DataSource
.CursorLocation = adUseClient
.Open
.CommandTimeout = 300
End With
startRow = Sheets("SQL_DATA").Cells(Sheets("SQL_DATA").rows.Count, "A").End(xlUp).Row + 1
sql_data = get_client_positions(conODBC, rst)
wdth = UBound(sql_data, 1)
Sheets("SQL_DATA").range("A" & startRow & ":AA" & wdth + startRow - 1).Value = sql_data
'Run change tools instruments
startRow = Sheets("ToolsList").Cells(Sheets("ToolsList").rows.Count, "A").End(xlUp).Row + 1
sql_data_change = get_change_tools(conODBC, rst)
wdth = UBound(sql_data_change, 1)
Sheets("ToolsList").range("A" & startRow & ":M" & wdth + startRow - 1).Value _
= sql_data_change
'open SQL for V tools instruments
startRow = Sheets("ToolsList").Cells(Sheets("ToolsList").rows.Count, "A").End(xlUp).Row + 1
sql_data_v = get_v_tools(conODBC, rst)
wdth = UBound(sql_data_v, 1)
Sheets("ToolsList").range("A" & startRow & ":L" & startRow + wdth - 1).Value = sql_data_v
conODBC.Close
ErrorHandling:
If rst.State <> 0 Then
rst.Close
End If
Set rst = Nothing
End Sub
Private Function get_client_positions(conODBC As ADODB.Connection, rst_posi As ADODB.Recordset) As Variant
Dim sql_data As Variant
Dim objCommand As ADODB.Command
Dim sql As String
Dim records, TotalColumns As Integer
On Error GoTo ErrorHandling
Set objCommand = New ADODB.Command
sql = read_sql()
With objCommand
.ActiveConnection = conODBC 'connection for the commands
.CommandType = adCmdText
.CommandText = sql 'Sql statement from the function
.Prepared = True
.CommandTimeout = 600
End With
Set rst_posi = objCommand.Execute
TotalColumns = rst_posi.Fields.Count
records = rst_posi.RecordCount
ReDim sql_data(1 To records, 1 To TotalColumns)
If TotalColumns = 0 Or records = 0 Then GoTo ErrorHandling
If TotalColumns <> 27 Then GoTo ErrorHandling
If rst_posi.EOF Then GoTo ErrorHandling
l = 1
Do While Not rst_posi.EOF
For i = 0 To TotalColumns - 1
sql_data(l, i + 1) = rst_posi.Fields(i)
Next i
l = l + 1
rst_posi.MoveNext
Loop
ErrorHandling:
rst_posi.Close
Set rst_posi = Nothing
Set objCommand = Nothing
get_client_positions = sql_data
End Function
Private Function read_sql() As String
Dim sqlFile As String, sqlQuery, Line As String
Dim query_dt As String, client As String, account As String
Dim GRP_ID, GRP_SPLIT_ID As String
Dim fso, stream As Object
Set fso = CreateObject("Scripting.FileSystemObject")
client = Worksheets("Cover").range("C9").Value
query_dt = Sheets("Cover").range("C7").Value
GRP_ID = Sheets("Cover").range("C3").Value
GRP_SPLIT_ID = Sheets("Cover").range("C5").Value
account = Sheets("Cover").range("C11").Value
sqlFile = Sheets("Cover").range("C15").Value
Open sqlFile For Input As #1
Do Until EOF(1)
Line Input #1, Line
sqlQuery = sqlQuery & vbCrLf & Line
Loop
Close
' Replace placeholders in the SQL
sqlQuery = Replace(sqlQuery, "myClent", client)
sqlQuery = Replace(sqlQuery, "01/01/9999", query_dt)
sqlQuery = Replace(sqlQuery, "54747743", GRP_ID)
If GRP_SPLIT_ID <> "" Then
sqlQuery = Replace(sqlQuery, "7754843", GRP_SPLIT_ID)
Else
sqlQuery = Replace(sqlQuery, "AND POS.GRP_SPLIT_ID = 7754843", "")
End If
If account = "ZZ" Then
sqlQuery = Replace(sqlQuery, "AND AC.ACCNT_NAME = 'ZZ'", "")
Else
sqlQuery = Replace(sqlQuery, "ZZ", account)
End If
' Create a TextStream to check SQL Query
sql = sqlQuery
myPath = ThisWorkbook.Path
Set stream = fso.CreateTextFile(myPath & "\SQL\LastQuery.txt", True)
stream.Write sql
stream.Close
Set fso = Nothing
Set stream = Nothing
read_sql = sqlQuery
End FunctionThanks Starain,
that's what I did the last days and found that the problem is in the
newPrice_calculate (lastRow)
function. This function retrieves data (sets it as arrays) which was correctly pasted into the sheet, loops through all rows and does math/calendar calculations with cell values using an Add-In("Quantlib")
Public errorMessage as String
Sub newPrice_calculate(lastRow)
Dim Type() As Variant
Dim Id() As Variant
Dim Price() As Variant
Dim daysTo() As Variant
Dim fx() As Variant
Dim interest() As Variant
Dim ObjCalend as Variant
Dim newPrice as Variant
On Error GoTo Catch
interest = Sheets("SQL_DATA").range("V2:V" & lastRow).Value
Type = Sheets("SQL_DATA").range("L2:L" & lastRow).Value Id = Sheets("SQL_DATA").range("M2:M" & lastRow).Value Price = Sheets("SQL_DATA").range("T2:T" & lastRow).Value
daysTo = Sheets("SQL_DATA").range("K2:K" & lastRow).Value
fx = Sheets("SQL_DATA").range("U2:U" & lastRow).Value
qlError = 1
For i = 2 To lastRow
If (i, 1) = "LG" Then
'set something - nothing spectacular like
interest(i, 1) = 0
daysTo(i , 1) = 0
Else
adjTime = Sqr(daysTo(i, 1) / 365)
ObjCalend(i,1) =Application.Run("qlCalendarHolidaysList", _
"CalObj", ... , .... other input parameters)
If IsError(ObjCalend(i,1)) Then GoTo Catch
'other calendar calcs
newPrice(i,1) = Application.Run( 'quantLib calcs)
End If
Catch:
Select Case qlError
Case 1
errorMessage = errorMessage & " QuantLibXL Cal Error at: " & i & " " & vbNewLine & Err.Description
ObjCalend(i,1) (i, 1) = "N/A"
End Select
Next i
Sheets("SQL_DATA").range("AB2:AB" & lastRow).Value = newPrice
'Sheets("SQL_DATA").range("AA2:AA" & lastRow).Value = daysTo
' erase and set to nothing all arrays and objects
Erase Type
Erase id
Erase Price
Set newPrice = Nothing
Is there a possibility to clean everything in:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub
Thanks in advance
Mark -
Hello Experts,
I am creating a macro, where the requirement is; user would select few columns of a KF & hit on a macro.
The values in the KF should get multiplied by 2.
Any clue how should I add ( *2) functionality in operation / function ?. Any other suggestion is welcomed.
Please help
Regards
Rahul ChitteHi Rahul,
You can set the macro to run for few period.
1) In the step of the macro, select the period you want to run
2) Within the step, Results row (Key figure row 'XXX") = Key figure row 'XXX" * 2 (remember to maintain a space between * and 2)
3) Check the macro for any error, which would help you for any inconsistencies
4) activate the macro to test your requirement.
hope this would solve your requirment.
Regards,
Nawanit -
Dear all,
I have a couple of Word templates (in document libraries) that should have the filename and page count on the footer of the front page. It seams there is an issue with Word that these do not automatically update (MS kb 832897).
I am using word 2010, 64 bits.
This is solved with a Macro.
When placing the word with macro template in SharePoint, SP blocks it and the macros are not ran.
Any one with experience on this?
Thanks in advance.
GonçaloIt is not possible to run a macro in SharePoint after the document has been uploaded.
You can replicate this scenario by creating a SPItemEventReceiver which will run customized code on ItemAdded in your document library.
Please go through the following articles for details:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spitemeventreceiver.aspx
http://msdn.microsoft.com/en-us/library/office/ms437502%28v=office.14%29.aspx
Please don't forget to mark it answered, if your problem resolved or helpful. -
How to call HR Macros in ABAP-Webdynpro
HI all,
I want to extract HR data in webdynpro view.
Where should I give Logical Database PNP?
The ifnotypes key word is not accepting in Webdynpro coding?
Where should I give GET PERNR event in Webdynpro?
When I use RP_PROVIDE_FROM_LAST .... says error message
Statement "RP_PROVIDE_FROM_LAST" is not defined. Check your spelling .
How to use the Macros in Webdynpro (VIEW) methods.
First time I'm working in ABAP-HR Webynpro.
Please help me out..
Thanks,
PrasadHi,
How did u solve this? pls provide the solution.
Regards,
Lakshmi. -
Calling HR Macros in ABAP-Webdynpro
HI all,
I want to extract HR data in webdynpro view.
Where should I give Logical Database PNP?
The ifnotypes key word is not accepting in Webdynpro coding?
Where should I give GET PERNR event in Webdynpro?
When I use RP_PROVIDE_FROM_LAST .... says error message
Statement "RP_PROVIDE_FROM_LAST" is not defined. Check your spelling .
How to use the Macros in Webdynpro (VIEW) methods.
First time I'm working in ABAP-HR Webynpro.
Please help me out..
Thanks,
PrasadHi,
I suspect that you are in a right forum. Please post it to appropriate forum. -
Can I launch a Macro from an IF statement in a Bus. Rule?
I am trying to write IF logic in a business rule to run a macro based on a Planning form-driven variable. However, my rule will not validate. For example:
IF([variable] == 'Budget')
%MYBUDGETMACRO(parm1, parm2, parm3);
ELSE
%MYOTHERMACRO (parm1, parm2, parm3);
ENDIF
Is it possible to do this? Thank you -I wrote this used-to-make-sense-but-now-just-tests-a-concept code (coming to a blog post soon, oooh, I know you can hardly wait): <--Sarcasm
FIX("Local", [varGlblYear], [varGlblScenario], [varGlblVersion])
/* Call macro to do focused Aggregation */
"Local"
IF(@ISMBR("Local"))
"Local" = #Missing ;
ENDIF
ENDFIX /* FIX("Local", [varGlblYear], [varGlblScenario], [varGlblVersion]) */And it validated just fine.
So I created a one line macro that has this code:
"Local" = Missing ;And then called it in an IF statement:
FIX("Local", [varGlblYear], [varGlblScenario], [varGlblVersion])
/* Call macro to do focused Aggregation */
"Local"
IF(@ISMBR("Local"))
%mcrConsHBRLocalEqualsMissing()
ENDIF
ENDFIX /* FIX("Local", [varGlblYear], [varGlblScenario], [varGlblVersion]) */HBR won't even let me validate it but throws an:
Encountered " <MACRO> "%
mcrConsHBREqualsMissing "" at line 19, column
35
blah
blah
blah
If I get rid of the IF statement and just do this:
FIX("Local", [varGlblYear], [varGlblScenario], [varGlblVersion])
/* Call macro to do focused Aggregation */
"Local"
%mcrConsHBRLocalEqualsMissing()
ENDFIX /* FIX("Local", [varGlblYear], [varGlblScenario], [varGlblVersion]) */It still fails.
So then I wrote this:
FIX("Local", [varGlblYear], [varGlblScenario], [varGlblVersion])
/* Call macro to do focused Aggregation */
%mcrConsHBRLocalEqualsMissing()
ENDFIX /* FIX("Local", [varGlblYear], [varGlblScenario], [varGlblVersion]) */Sucess!!! Boil in bag! (That's a Network54 joke, btw.)
So the issue isn't the IF statement, it's the calc block. You cannot insert macros into calc block statements. And since a calc block statement is required for using IF, a macro can't be used within an IF.
Regards,
Cameron Lackpour
Maybe you are looking for
-
Quicktime codec does not work, internet explorer just shuts down!
I have reinstalled quicktime many times and still I cannot view any videos or movie previews on internet explorer that use the quicktime plugin. When I open the page that is supposed to use the plupin, a window pops up saying I should install the Act
-
Messages are failed in Adapter Engine
Hi Experts, give me solution as early as possible pls There is a problem with production system in XI. I am getting the error in Adapter Engine level in Runtime workbench. "Attempt to process file failed with com.sap.aii.adapter.file.configuration.Dy
-
I am trying to set up a query to populate a bunch of textboxes with the field from my query. In the query I need to make sure that the nulls are taken care of so I have nvl int he select statement. I anyone know why I am getting the following error a
-
DeliveryException: Interface not registered
When calling a Interface on a bpm I get the following exception: com.sap.aii.af.ra.ms.api.DeliveryException: Interface http://UNO/XI/SMS#SmsInterface not registered - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.x
-
Diagnosing ORA-01555: what table had the unreconstructable block?
We have some very long-running batch processes (i.e. > 20 hours for a single INSERT statement) and we sometimes get ORA-01555 (snapshot too old) failures. Our undo_retention is 10800 seconds=3 hours. We have discussed (with the development team) the